首頁 > Java > java教程 > 主體

如何對 Java 集合進行排序:比較器、可比較和 Lambda 表達式?

Susan Sarandon
發布: 2024-11-07 22:49:02
原創
686 人瀏覽過

How to Sort Java Collections: Comparator, Comparable, and Lambda Expressions?

對 Java 集合進行排序

要對 Java 集合進行排序,可以考慮多種方法,取決於具體要求。常見的選擇是使用比較器。

使用比較器:

建立一個實作 Comparator 介面的 Comparator 類別。在compare()方法中,您可以定義比較物件的邏輯。例如,要按id 欄位對CustomObject 進行排序:

Comparator<CustomObject> comparator = new Comparator<CustomObject>() {
    @Override
    public int compare(CustomObject left, CustomObject right) {
        return left.getId() - right.getId();
    }
};
登入後複製

然後,使用比較器使用Collections.sort() 對集合進行排序:

Collections.sort(list, comparator);
登入後複製

或者,如果您的集合進行排序:

或者,如果您的集合進行排序:

或者,如果您的集合進行排序:

Collections.sort(list, (left, right) -> left.getId() - right.getId());
登入後複製

或者,如果您的集合進行排序:

或者,如果您的集合進行排序:

list.sort(Comparator.comparing(CustomObject::getId));
登入後複製
或者,如果您的集合CustomObject 實作了Comparable,可以直接使用Collections.sort(list)。

使用JDK 8 Lambda 表達式:JDK 8 中引入,lambda 表達式提供了一種便捷的方式編寫比較器: JDK 8 的簡寫符號:對於簡單場景,可以使用以下簡寫符號按特定字段排序:最終,對Java 集合進行排序的最佳方法取決於特定需求和所使用的Java 版本。

以上是如何對 Java 集合進行排序:比較器、可比較和 Lambda 表達式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板