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);
        }
  • 相关阅读:
    PHP PDO
    常用JavaScript字符串方法简述
    命名
    jquery远程班备忘
    html历史
    CSS3的翻转效果
    正则
    排序算法
    firebug的调试,console
    跨域
  • 原文地址:https://www.cnblogs.com/go4mi/p/12457481.html
Copyright © 2011-2022 走看看