title: Java常用代码块 date: 2020-10-28 tags: Java comments: false cover: https://static.jqwei.com/blog/img/IMG_3461.PNG
大部分是经常使用的代码,对map操作,list 分组,排序
对象 | 排序 | 分组 |
---|---|---|
list | √ | √ |
map | √ | |
set |
private static Map<String, Object> sortByKey(Map<String, Object> map) {
Map<String, Object> result = new LinkedHashMap<>(map.size());
map.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
return result;
}
//1 按照某个字段
Map<Object,List<Object>> map = demoList.stream().collect(Collectors.groupingBy(Object::getAttr));
//2 按照多个字段
Map<String, List<Object>> groupBy = objectList.stream().collect(Collectors
.groupingBy(o -> o.getAttr1() + "_" + o.getAttr2()));
//根据单个属性排序
List<String> stortList = list.stream().sorted().collect(Collectors.toList());
//根据对象某个属性排序
List<Object> sortList = objectList.stream().sorted(Comparator.comparing(Object::getAttr)
.reversed()).collect(Collectors.toList());