zoukankan      html  css  js  c++  java
  • comparison method violates 必现

    public static void main(String[] args) {
            // list size > 32
            List<Integer> list = new ArrayList<>();
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
    
            Collections.sort(list, new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2) {
                    return o1 > o2 ? 1 : -1;
                }
            });
    
            System.out.println(list);
        }

    解决

    public static void main(String[] args) {
            // list size > 32
            List<Integer> list = new ArrayList<>();
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
            list.add(5);
            list.add(1);
            list.add(9);
            list.add(5);
            list.add(1);
            list.add(5);
            list.add(11);
            list.add(5);
    
            Collections.sort(list, new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2) {
                    return o1.equals(o2) ? 0 : o1 > o2 ? 1 : -1;
                }
            });
    
            System.out.println(list);
        }
  • 相关阅读:
    第一次结对作业
    第二次个人编程作业
    第一次个人编程作业
    第一次个人作业
    个人总结-人生如戏
    第二次结对编程
    第一次结对作业
    第二次个人编程作业:代码互改
    第一次个人编程作业
    软件工与UML程第一次作业
  • 原文地址:https://www.cnblogs.com/go4mi/p/12457481.html
Copyright © 2011-2022 走看看