最近有個需求就是按照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