في Java، هناك مهمة شائعة وهي تنظيم البيانات في مجموعة بناءً على معيار مخصص. لنفترض أن لدينا مجموعة من الكائنات مع حقل معرف ونريد فرزها حسب هذا الحقل.
]&&&] لتحقيق ذلك، يمكننا استخدام المقارنة، والتي تسمح لنا بتحديد منطقنا الخاص بالترتيب. وإليك الطريقة:import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; فئة CustomObject تنفذ Comparableimport java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; class CustomObject implements Comparableيمنحك استخدام المقارنة أقصى قدر من المرونة في تحديد منطق الفرز الخاص بك. بدلاً من ذلك، إذا قام CustomObject بتنفيذ Comparable، فيمكنك استخدام طريقة Collections.sort(list) الأبسط.مع Java 8، يكون فرز المجموعات أسهل:list.sort((left, right ) -> left.getId() - right.getId()); list.sort(Comparator.comparing(CustomObject::getId));{ 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 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 comparator = new Comparator () { @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); } }
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; class CustomObject implements Comparableتوضح هذه الأمثلة كيفية فرز مجموعة Java بناءً على حقل معين، مما يسهل تنظيم البيانات ومعالجتها وفقًا لمتطلبات محددة.{ 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 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 comparator = new Comparator () { @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); } }
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3