在 Java 中,一項常見任務是根據自訂標準組織集合中的資料。假設我們有一個帶有 id 欄位的物件集合,並且想要按該欄位對它們進行排序。
為了實現這一點,我們可以使用比較器,它允許我們指定自己的排序邏輯。操作方法如下:
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; class CustomObject implements Comparable<CustomObject> { private int id; public int getId() { return id; } @Override public int compareTo(CustomObject other) { return this.id - other.id; } } public class CustomCollectionSorting { public static void main(String[] args) { // Initialize the list of CustomObject List<CustomObject> list = new ArrayList<>(); list.add(new CustomObject(3)); list.add(new CustomObject(5)); list.add(new CustomObject(1)); list.add(new CustomObject(2)); // Create a comparator Comparator<CustomObject> comparator = new Comparator<CustomObject>() { @Override public int compare(CustomObject left, CustomObject right) { return left.getId() - right.getId(); } }; // Sort the collection Collections.sort(list, comparator); // Display the sorted list System.out.println(list); } }
使用比較器可以讓您在定義排序邏輯時獲得最大的彈性。或者,如果 CustomObject 實作 Comparable,您可以使用更簡單的 Collections.sort(list) 方法。
使用Java 8,對集合進行排序更加容易:
list.sort((left, right) -> left.getId() - right.getId()); list.sort(Comparator.comparing(CustomObject::getId));
這些範例示範如何根據特定欄位對Java 集合進行排序,可以更輕鬆地根據特定需求組織和操作數據。
以上是如何按特定欄位對 Java 集合進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!