java stream的distinct可以对集合进行去重,举例如下:
package demo;
import java.util.ArrayList;
import java.util.List;
public class StreamDistinctDemo {
public static void main(String[] args) {
List<Integer> integerList = new ArrayList<>();
integerList.add(1);
integerList.add(2);
integerList.add(3);
integerList.add(4);
integerList.add(5);
integerList.add(3);
integerList.add(3);
integerList.forEach(e -> System.out.print(e));
System.out.println("*********");
integerList.stream().distinct().forEach(e -> System.out.print(e));
}
}
打印结果如下:
1234533*********
12345
distinct()是一个中间操作,不是终止操作,如果需要获取去重后的集合,需使用终止操作如下:
integerList=integerList.stream().distinct().collect(Collectors.toList());