List要素の重複存在チェックする Java

List要素の重複存在チェックする Java

JavaでList要素に重複要素が存在する場合のチェック方法です。

package jp.co.confrage;

import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;

public class Sample1 {
  public static void main(String... args) {
    final List<String> lists = new LinkedList<>();
    lists.add("a");
    lists.add("b");
    lists.add("c");
    lists.add("d");
    System.out.println(lists.stream().allMatch(new HashSet<>()::add)); // 重複要素が存在する場合false
  }
}

size()と、distinctした後のcount()で存在チェックすることもできます。

package jp.co.confrage;

import java.io.UnsupportedEncodingException;
import java.util.LinkedList;
import java.util.List;

public class Sample1 {
  public static void main(String... args) throws UnsupportedEncodingException {
    final List<String> lists = new LinkedList<>();
    lists.add("a");
    lists.add("b");
    lists.add("c");
    lists.add("c");
    System.out.println(lists.size() == lists.stream().distinct().count()); // 重複要素が存在する場合false
  }
}

コメント

タイトルとURLをコピーしました