举例说明java stream-distinct去重操作的使用

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());

 

上一篇:ES中对应的SQL的count(distinct 列名) java实现


下一篇:mysql从5.6升级到5.7后出现 Expression #1 of ORDER BY clause is not in SELECT list,this is incompatible with