java list stream 使用

1、实现List对象集合的简单去重(distinct()) ​

List list = list.stream().distinct().collect(Collectors.toList());

 ​2、实现List集合的根据属性(name)去重

list = list.stream().filter(o -> o.getName() != null).collect( Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getName()))),ArrayList::new));

3、实现List对象集合的简单过滤(过滤为 null 的对象)

List list = list.stream().filter(item -> item != null).collect(Collectors.toList());

4、实现List对象集合中获取其中某一属性的List集合

List collect = apples.stream().map(User::getName).collect(Collectors.toList());

5、 现List对象集合中根据对象的某一属性进行分组

Map> userMap = list.stream().collect(Collectors.groupingBy(User :: getName));

6、实现List对象集合中求和、最大、最小、平均的统计

Long sum = list.stream().mapToLong(User::getAge).sum(); //和
Double max = list.stream().mapToDouble(User::getAge).max(); //最大
Integer = list.stream().mapToInt(User::getAge).min(); //最小
OptionalDouble average = list.stream().mapToDouble(User::getAge).average(); //平均值

7、实现List对象集合的分页

List resultList = list.stream().skip(pageSize * (currentPage - 1)).limit(pageSize).collect(Collectors.toList());

你可能感兴趣的:(c#,开发语言)