[英]Java: How do I sort an ArrayList according to a natural ordering?
我有一個我創建的類的實例的ArrayList,每個實例包含一個帶有String的字段。 我在創建的類中實現了Comparable。 如何對數組列表進行排序?
編輯
我沒有錯
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);
或者,您可以使用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()
就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.