根据stationIdC对数据分组,通过对每组timestamp进行比较,获取每组timestamp最大的那条记录,返回结果为Map。 Map<String, AtstationDTO> latestStations = stations.parallelStream().collect(Collectors.toMap(Atstation::getStationIdC, Function.identity(), (c1, c2) -> c1.getTimestamp() > c2.getTimestamp()...
.collect(Collectors.groupingBy(InputForm::getCreateUserName, Collectors.summarizingInt(InputForm::getStatus)));//对名字去重Set<String> collect1 =inputForms.stream().distinct().map(InputForm::getCreateUserName).collect(Collectors.toSet());//遍历名字,从map中取出对应用户的status最大值,最小值,平均值。
Map<Integer, TestData> map = list.stream().collect(Collectors.toMap(TestData::getId, Function.identity())); System.out.println(map.get(1)); } } @Data @Builder class TestData{ private Integer id; private String name; private Integer age; private String address; } 1. 2. 3. 4. 5. ...
import java.util.ArrayList; import java.util.List; import java.util.LongSummaryStatistics; import java.util.Map; import java.util.stream.Collectors; import cn.hutool.json.JSONUtil; /** * 基于Java8 分组再统计 * @author zzg * */ publicclassGroupByStatissticsTest { static List<Fruit>initDate()...
javastream处理分组后取每组最大 javastream处理分组后取每组最⼤有⼀个需求功能:先按照某⼀字段分组,再按照另外字段获取最⼤的那个 Map<String, HitRuleConfig> configMap = configList.parallelStream().collect( Collectors.groupingBy(HitRuleConfig::getAppId, // 先根据appId分组 Collectors.c...
//先按性别分组,list只取id最大的数据 Stream<User> userStream = Stream.of(new User(1, "bobo", 2, 0), new User(2, "naitang", 1, 1),new User(3,"guoguo",3,1),new User(4,"dandan",2,0)); Map<Integer, Optional<User>> dataMap = userStream.collect(Collectors.groupingBy(User::...
为了解决你的问题,我们需要按照以下步骤来处理List<Map<String, Object>>,以"a"字段进行分组,并取每组中"b"字段最大的Map,最后输出一个新的List<Map<String, Object>>。以下是具体的步骤和代码实现: 将List<Map<String, Object>>转换成Stream流: java List<Map<String...
但其实还可以转换成Integer、Map、Set 集合等。 一、查找流中的最大值和最小值 static List<Student> students = new ArrayList<>(); static { students.add(new Student("学生A", "大学A", 18, 98.0)); students.add(new Student("学生B", "大学A", 18, 91.0)); ...
Stream 的使用,我觉得使用它是非常方便的~ 前言 在前面的文章中其实大家也已经看到我使用过collect(Collectors.toList())将数据最后汇总成一个 List 集合。 但其实还可以转换成Integer、Map、Set 集合等。 一、查找流中的最大值和最小值 static List<Student> students = new ArrayList<>();static {students...
首先,假设我们有一个站点降水的列表(List),其中每个SiteRainfall对象包含站点名(site)和降水量(precipitation)两个字段:java List siteRainfalls = ...; // 假设已从数据库获取到站点降水数据 接下来,我们可以使用Stream流进行分组操作,然后累加每个站点的降水:java Map accumulatedRainfall = ...