Cool
Cool
Published on 2022-11-15 / 56 Visits
2
0

JAVA 自定义排序

  /**
     * (Compare()比较用来排序的两个参数。根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数
     * @param args
     */
    public static void main(String[] args) {
        List<String> sortRule = new ArrayList<>();
        sortRule.add("菠萝");
        sortRule.add("香蕉");
        sortRule.add("苹果");
        sortRule.add("西瓜");
        sortRule.add("哈密瓜");

        List<String> list = new LinkedList<>();
        list.add("哈密瓜");
        list.add("菠萝");
        list.add("西瓜");
        list.add("香蕉");
        list.add("苹果");

        List<String> collect = list.stream().sorted(new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                int x = sortRule.indexOf(o1);
                int y = sortRule.indexOf(o2);
                if (x > y) {
                    return 1;
                }
                else  {
                    return -1;
                }
            }
        }).collect(Collectors.toList());

        Console.log(collect);

    }

Comment