簡體   English   中英

Java:如何根據自然順序對ArrayList進行排序?

[英]Java: How do I sort an ArrayList according to a natural ordering?

我有一個我創建的類的實例的ArrayList,每個實例包含一個帶有String的字段。 我在創建的類中實現了Comparable。 如何對數組列表進行排序?

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);

或者,您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM