排序

Java Stream 流处理 LIsit值排序

// 排序规则列表
List sortRuleArray, 
// 需要排序的列表
List<Map<String,Object>> needSortList

needSortList.stream().sorted(Comparator.comparing(e-> sortRuleArray.indexOf(e.get("pid").toString()))).collect(Collectors.toList());


// 排序类
Comparator.comparing(e-> sortRuleArray.indexOf(e.get("pid").toString()))
//列表中 map 的值在规则数组里的位置,按照此位置进行排序
e-> sortRuleArray.indexOf(e.get("pid").toString())

//实例代码
Class SortList{

  public static void main(String[] args) {

        ArrayList<String> objects = new ArrayList<>();
        objects.add("a");
        objects.add("b");
        objects.add("c");
        objects.add("e");
        // 颠倒 list 顺序
        Collections.reverse(objects);
        ArrayList<Map<String,Object>> objects1 = new ArrayList<>();
        HashMap<String, Object> objectObjectHashMap = new HashMap<>();
        objectObjectHashMap.put("pid","c");
        HashMap<String, Object> objectObjectHashMap2 = new HashMap<>();
        objectObjectHashMap2.put("pid","b");
        HashMap<String, Object> objectObjectHashMap3= new HashMap<>();
        objectObjectHashMap3.put("pid","a");
        HashMap<String, Object> objectObjectHashMap4= new HashMap<>();
        objectObjectHashMap4.put("pid","e");
        objects1.add(objectObjectHashMap4);
        objects1.add(objectObjectHashMap);
        objects1.add(objectObjectHashMap2);
        objects1.add(objectObjectHashMap3);
        List<Map<String,Object>> maps = sortResultOrderData(objects, objects1);
        System.out.println("maps = " + maps);

    }


    private static List<Map<String,Object>> sortResultOrderData(List<String> sortRuleArray, List<Map<String,Object>> needSortList) {


        return needSortList.stream().sorted(Comparator.comparing(e-> sortRuleArray.indexOf(e.get("pid").toString()))).collect(Collectors.toList());


    }


}


调转 List 内的值的顺序


        ArrayList<String> objects = new ArrayList<>();
        objects.add("a");
        objects.add("b");
        objects.add("c");
        objects.add("e");
        // 颠倒 list 顺序
        Collections.reverse(objects);


posted @ 2021-11-22 09:32  codeHi  阅读(34)  评论(0)    收藏  举报