核心代码:
根据stationIdC对数据分组,通过对每组timestamp进行比较,获取每组timestamp最大的那条记录,返回结果为Map。
Map<String, AtstationDTO> latestStations = stations.parallelStream().collect(Collectors.toMap(Atstation::getStationIdC, Function.identity(), (c1, c2) -> c1.getTimestamp() > c2.getTimestamp() ? c1 : c2));
return new ArrayList<>(latestStations.values());