Java 8 Stream API实战:对一组数据进行过滤、排序和分组 原创 曾经终败给现在 2024-09-11 09:15 19阅读 0赞 在Java 8引入的Stream API中,我们可以对一组数据进行多种操作,包括过滤(filter)、排序(sorted)和分组(groupingBy)等。 1. **过滤**(filter) 过滤操作会根据提供的Predicate(谓词),来筛选出满足条件的数据。 ```java List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); List<String> filteredNames = names.stream() .filter(name -> name.startsWith("C"))) // 谓词,筛选以"C"开头的名字 .collect(Collectors.toList())); ``` 2. **排序**(sorted) 排序操作可以按照升序或降序对数据进行排列。 ```java List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); List<String> sortedNames = names.stream() .sorted(Comparator.naturalOrder())) // 按照自然顺序升序排序 .collect(Collectors.toList())); ``` 3. **分组**(groupingBy) 分组操作会将数据根据提供的键(Key)进行划分,并返回一个Map,其中每个key的值是一个列表,包含该键所有对应的数据。 ```java List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David"); Map<String, List<String>> groupedNames = names.stream() .collect(Collectors.groupingBy(name -> name.substring(0, 3)))) // 按照名字的前三字符进行分组 .entrySet().stream() // 通过entrySet获取每个group的映射元素 .map(entry -> entry.getValue().get(0))) // 获取每个group的第一个元素(列表中的第一个字符串) .collect(Collectors.toList())); // 将所有结果收集到一个列表中 groupedNames.forEach((key, values), index) -> { System.out.println("Group: " + key); System.out.println("Index: " + index); System.out.println("Value: " + values.get(0))); System.out.println("------------------------"); }}; ``` 上述示例展示了如何使用Java 8 Stream API对数据进行过滤、排序和分组操作。 文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。
相关 Java 8 Stream API实战:对一组数据进行过滤、排序和分组 在Java 8引入的Stream API中,我们可以对一组数据进行多种操作,包括过滤(filter)、排序(sorted)和分组(groupingBy)等。 1. **过滤* 曾经终败给现在/ 2024年09月11日 09:15/ 0 赞/ 20 阅读
相关 Java8的stream之groupingBy()分组排序 Java8的stream之groupingBy()分组排序 一、默认升序排序 二、descendingMap()降序排序 三、总结 --------- 朱雀/ 2024年04月06日 10:59/ 0 赞/ 42 阅读
相关 【Java8实战】list分组、过滤、统计、排序等常用操作 引言 在前面,写过[java8实战系列文章][java8],文章的内容都是基于《Java8 in Action》一书学习总结的。 这段时间在项目中很多地方都用到了 矫情吗;*/ 2022年12月18日 01:48/ 0 赞/ 200 阅读
相关 Java8 排序、分组、统计、过滤 Java 8 Stream,可以以一种声明的方式处理数据,写出高效率、干净、简洁的代码,可以在节点上进行处理, 比如筛选, 排序,聚合等。 测试的实体: @D 太过爱你忘了你带给我的痛/ 2022年12月06日 15:55/ 0 赞/ 276 阅读
相关 JDK8 使用stream 对 Map 进行 key排序和 value排序 package com.ws.ldy.common.utils; import com.google.common.collect.Maps; 男娘i/ 2022年12月06日 15:54/ 0 赞/ 159 阅读
相关 Java8 使用 stream().sorted()对List集合进行排序 集合对象定义 集合对象以学生类(StudentInfo)为例,有学生的基本信息,包括:姓名,性别,年龄,身高,生日几项。 使用stream().sorted()进行排序 比眉伴天荒/ 2022年09月12日 04:48/ 0 赞/ 188 阅读
相关 stream分组API public class YebTest { List<User> userList = new ArrayList<Use 末蓝、/ 2022年09月03日 04:20/ 0 赞/ 162 阅读
相关 对一组数据进行排序 对于给数据排序的问题,首先要考虑的是数据有什么样的特征? 有没有可能包含有大量的重复的元素? 如果有这种可能的话,三路快排是最好的选择。 是 ╰半夏微凉°/ 2022年06月02日 00:00/ 0 赞/ 153 阅读
相关 java8Stream操作集合进行排序和过滤 //对listResult进行排序,根据伴随度进行降序 List<FollowIMSI> collect = listResult.stream() 港控/mmm°/ 2022年05月12日 01:58/ 0 赞/ 372 阅读
还没有评论,来说两句吧...