يمكننا فرز العناصر:
- كائنات السلسلة
- كائنات الطبقة المجمعة
- كائنات فئة محددة من قبل المستخدم
المجموعات يوفر الفصل طرقًا ثابتة لفرز عناصر المجموعة. إذا كانت عناصر المجموعة من النوع Set، فيمكننا استخدام TreeSet. ومع ذلك، لا يمكننا فرز عناصر القائمة. توفر فئة المجموعات طرقًا لفرز عناصر عناصر نوع القائمة. |
طريقة فئة المجموعات لفرز عناصر القائمة
فرز الفراغ العام (قائمة القائمة): يستخدم لفرز عناصر القائمة. يجب أن تكون عناصر القائمة من النوع القابل للمقارنة.
ملاحظة: تقوم فئات السلسلة وفئات التغليف بتنفيذ الواجهة القابلة للمقارنة. لذا، إذا قمت بتخزين كائنات من فئات السلسلة أو المجمّع، فستكون قابلة للمقارنة.
مثال لفرز كائنات السلسلة
import java.util.*; class TestSort1{ public static void main(String args[]){ ArrayList al=new ArrayList(); al.add('Viru'); al.add('Saurav'); al.add('Mukesh'); al.add('Tahir'); Collections.sort(al); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }اختبره الآن
Mukesh Saurav Tahir Viru
مثال لفرز كائنات السلسلة بترتيب عكسي
import java.util.*; class TestSort2{ public static void main(String args[]){ ArrayList al=new ArrayList(); al.add('Viru'); al.add('Saurav'); al.add('Mukesh'); al.add('Tahir'); Collections.sort(al,Collections.reverseOrder()); Iterator i=al.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } }
Viru Tahir Saurav Mukesh
مثال لفرز كائنات فئة المجمع
import java.util.*; class TestSort3{ public static void main(String args[]){ ArrayList al=new ArrayList(); al.add(Integer.valueOf(201)); al.add(Integer.valueOf(101)); al.add(230);//internally will be converted into objects as Integer.valueOf(230) Collections.sort(al); Iterator itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
101 201 230
مثال لفرز كائنات الفئة المعرفة من قبل المستخدم
import java.util.*; class Student implements Comparable { public String name; public Student(String name) { this.name = name; } public int compareTo(Student person) { return name.compareTo(person.name); } } public class TestSort4 { public static void main(String[] args) { ArrayList al=new ArrayList(); al.add(new Student('Viru')); al.add(new Student('Saurav')); al.add(new Student('Mukesh')); al.add(new Student('Tahir')); Collections.sort(al); for (Student s : al) { System.out.println(s.name); } } }
Mukesh Saurav Tahir Viru