根据股票code去重然后取每只股票最新的数据

List<CoverLog> list = collect2.stream().filter(distinctByKey(CoverLog::getStockCode)).collect(Collectors.toList());


Map<String, CoverLog> collect4 = collect2.stream().collect(Collectors.toMap(CoverLog::getStockCode, Function.identity(), (l, r) -> l.getUpdateTime().before(r.getUpdateTime()) ? r : l));
Collection<CoverLog> values = collect4.values();

Map<String, CoverLog> map = new HashMap<>();
collect2.forEach(e -> {
CoverLog coverLog = map.get(e.getStockCode());
if (coverLog == null || coverLog.getUpdateTime().before(e.getUpdateTime())) {
map.put(e.getStockCode(), e);
}
});

Map<String, List<CoverLog>> collect5 = col
 Map<String, CoverLog> collect4 = collect2.stream().collect(Collectors.toMap(CoverLog::getStockCode, Function.identity(), (l, r) -> l.getUpdateTime().before(r.getUpdateTime()) ? r : l));
            Collection<CoverLog> values = collect4.values();

            Map<String, CoverLog> map = new HashMap<>();
            collect2.forEach(e -> {
                CoverLog coverLog = map.get(e.getStockCode());
                if (coverLog == null || coverLog.getUpdateTime().before(e.getUpdateTime())) {
                    map.put(e.getStockCode(), e);
                }
            });
            //根据股票code去重获取一个map ,key为code values为list集合
            Map<String, List<CoverLog>> collect5 = collect2.stream().collect(Collectors.groupingBy(CoverLog::getStockCode));

  

ct2.stream().collect(Collectors.groupingBy(CoverLog::getStockCode));
posted @ 2022-10-26 20:46  lamda表达式先驱  阅读(123)  评论(0)    收藏  举报