【问题标题】:Sorting the List [duplicate]对列表进行排序[重复]
【发布时间】:2012-05-22 14:09:43
【问题描述】:

可能重复:
Sorting a collection of objects

如何在java中对列表进行排序

List<Integer> list = new ArrayList<Integer>();
list.add(13);
list.add(8);
list.add(6);
list.add(4);
list.add(3);

我想对列表进行排序。请帮我解决这个问题。

【问题讨论】:

    标签: java collections


    【解决方案1】:

    只需使用:

     Collections.sort(list);
    

    如果你想以相反的顺序排序,你必须实现 Comparator 接口

    public class MyIntComparable implements Comparator<Integer>{
    
        @Override
        public int compare(Integer o1, Integer o2) {
            return (o1>o2 ? -1 : (o1==o2 ? 0 : 1));
        }
    }
    

    并在您的代码中使用:

    Collections.sort(list, new MyIntComparable());
    

    【讨论】:

    • 对象必须在所有情况下实现 Comparable!
    【解决方案2】:

    这个link 应该会有所帮助。这是字符串列表的示例,但它也应该适用于整数。不得不说,我自己没试过。

    【讨论】:

      【解决方案3】:

      您可以使用 Collections.sort(list),但请注意,您的列表必须由实现 Comparable 的对象组成才能使用它! http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Collections.html

      【讨论】:

        【解决方案4】:
        List<Integer> list = new ArrayList<Integer>();
        list.add(13);
        list.add(8);
        list.add(6);
        list.add(4);
        list.add(3);
        Collections.sort(list);
        

        【讨论】:

          猜你喜欢
          • 2015-11-14
          • 2014-10-27
          • 2019-07-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-07
          • 2020-06-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多