Stream#distinct
を用いたリストの重複削除について書きます。
重複削除
重複削除はdistinct
してからcollect
でリストに変更することでできます。
重複削除
List<Integer> list = Arrays.asList(1, 1, 2, 3, 4, 5);
//[1, 2, 3, 4, 5]になる
List<Integer> ans = list.stream().distinct().collect(Collectors.toList());
重複チェック
@swordoneさんから頂いたコード(コメント欄)の方がスマートだったので、重複チェックはこちらを使った方が良いです。
重複チェック
List<Integer> list = Arrays.asList(1, 1, 2, 3, 4, 5);
boolean ans = (list.size() == new HashSet<>(list).size());
旧版
非効率ですがstream
を使う旧版も一応残します。
重複チェック
List<Integer> list = Arrays.asList(1, 1, 2, 3, 4, 5);
boolean ans = (list.size() == list.stream().distinct().count());