【Java】streamでListの重複削除
はじめに
お世話にになります、hosochinです
JavaでListの重複を削除する方法について載せときます
streamのdistinct使うのが良さそうです
実装
List<String> list = Arrays.asList("A", "B", "C", "A");
// ["A", "B", "C"] になる
list.stream().distinct().collect(Collectors.toList());
List<MyObj> list = Arrays.asList(
new MyObj(1, "Ichiro"),
new MyObj(2, "Jiro"),
new MyObj(3, "Sabro"),
new MyObj(1, "Ichiro")
);
// [(1, "Ichiro"), (2, "Jiro"), (3, "Sabro")] になる
list.stream().distinct().collect(Collectors.toList());
- MyObjクラス
- Equalsメソッドを実装する必要あり
- lombokのEqualsAndHashCodeを付与
@RequiredArgsConstructor
@EqualsAndHashCode
public class MyObj {
private final Integer id;
private final String name;
}
ディスカッション
コメント一覧
まだ、コメントがありません