Java:如何根据自然顺序对ArrayList进行排序?

时间:2010-09-24 01:22:03

标签: java sorting arraylist

我有一个我创建的类实例的ArrayList,每个实例包含一个带字符串的字段。我在我创建的类中实现了Comparable。如何对数组列表进行排序?

2 个答案:

答案 0 :(得分:7)

Collections.sort

修改
我没有错误

class Gene {
}
class MyGene extends Gene implements Comparable<MyGene> {
    public int compareTo(MyGene o) {
        throw new UnsupportedOperationException("Method is not implemented yet.");
    }
}

...

    List<MyGene> l = new ArrayList<MyGene>();
    Collections.sort(l);

答案 1 :(得分:1)

或者您可以使用Java 8 API:

List<MyGene> l = new ArrayList<MyGene>();
l.stream().sorted().collect(toList());

通常,你会使用类似的东西:

 List<MyGene> l = new ArrayList<MyGene>();
 l.stream().sorted((o1, o2) -> o2.getId().compareTo(o1.getId())).collect(toList());

, 但由于你的MyGene已经实现了可比性,简单的sorted()就足够了。