常用的代码块.md 1.6 KB


title: Java常用代码块 date: 2020-10-28 tags: Java comments: false cover: https://static.jqwei.com/blog/img/IMG_3461.PNG

categories: 运维工具

java常用代码块


为了减少手写出现的错误,可以直接复制使用,大部分是经常使用的代码,对map操作,list 分组,排序,后续可以放到IDEA做成快捷键

对象 排序 分组
list
map
set

map 根据Key排序 .

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;
    }

list 对象根据某个字段分组 .

    //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 用stream进行排序 .


    //根据单个属性排序
    List<String> stortList = list.stream().sorted().collect(Collectors.toList());
    //根据对象某个属性排序
    List<Object> sortList = objectList.stream().sorted(Comparator.comparing(Object::getAttr)
    .reversed()).collect(Collectors.toList());