java8 lambada使用Collectors.groupingBy分組順序錯誤

最近有個需求就是按照LocalDate分組排序可是一直數據都是錯亂的,後來查了資料排序

能夠看到有三個參數,第一個參數就是key的Function了,第二個參數是一個map工廠,也就是最終結果的容器,通常默認的是採用的HashMap::new,最後一個參數很重要是一個downstream,類型是Collector,也是一個收集器,那就是說,這三個參數其實就是爲了解決分組問題的get

第一個參數:分組按照什麼分類io

第二個參數:分組最後用什麼容器保存返回容器

第三個參數:按照第一個參數分類後,對應的分類的結果如何收集stream

其實一個參數的Collectors.groupingBy方法的 ,第二個參數默認是HashMap::new, 第三個參數收集器其實默認是Collectors.toListList

因此HashMap是無序的你們都是知道的,因此緣由找到了。model

Map<LocalDate, List> modelMap = modelVOList.stream().collect(Collectors.groupingBy(Model::getGroupTime, LinkedHashMap::new, Collectors.toList()));map

相關文章
相關標籤/搜索