Map根据key排序
- 按月份将List进行分组,再排序
按月份将List进行分组,再排序
1、按月份将List进行分组
Map<String, List<PrsCalcData>> result = ().collect((PrsCalcData::getSmo));
2、注意此处的key是string类型,是用于一般排序
Map<String,List<PrsCalcData>> smoMap = ().stream()
.sorted(())
.collect((::getKey, ::getValue,
(oldValue, newValue) -> oldValue, LinkedHashMap::new));
3、注意由于,String类型的"11"比"2"大,所以需要转换一下
Map<String,List<PrsCalcData>> smoMap = ().stream()
.sorted(new Comparator<<String, List<PrsCalcData>>>() {
@Override public int compare(<String, List<PrsCalcData>> o1, <String, List<PrsCalcData>> o2) {
Integer key1 = (());
Integer key2 = (());
return (key2);
}
})
.collect((::getKey, ::getValue,
(oldValue, newValue) -> oldValue, LinkedHashMap::new));