我有一个我创建的类实例的ArrayList,每个实例包含一个带字符串的字段。我在我创建的类中实现了Comparable。如何对数组列表进行排序?
答案 0 :(得分:7)
修改强>
我没有错误
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()
就足够了。