一、distinct 去重
Stream流的distinct()方法可以轻松实现去重。
String[] codes = {"D", "A", "B", "A", "B","C"};
List<String> codeList = new ArrayList<>(Arrays.asList(codes)) ;
//distinct
codeList.stream()
.distinct()
.forEach(System.out::println);
结果如下:
D
A
B
C
二、Collectors.toSet去重
Collectors是一个功能很丰富的类,它的toSet也可以实现去重效果。
注意:用collect()是产生一个新的流,关于collect收集器将在后面博客里介绍。
Collectors.toSet()把codeList.stream()产生一个新的流。
codeList.stream()
.collect(Collectors.toSet())
.forEach(System.out::println);
因为set是无序集合,所以下面的顺序和上面List的不一样。
A
B
C
D