אנחנו יכולים למיין את האלמנטים של:
- חפצי מחרוזת
- אובייקטים בכיתה עטיפה
- אובייקטי מחלקה המוגדרים על ידי משתמש
אוספים class מספקת שיטות סטטיות למיון האלמנטים של אוסף. אם רכיבי אוסף הם מסוג Set, נוכל להשתמש ב-TreeSet. עם זאת, איננו יכולים למיין את האלמנטים של רשימה. מחלקה Collections מספקת שיטות למיון האלמנטים של אלמנטים מסוג List. |
מחלקה שיטת אוספים למיון רכיבי רשימה
מיון חלל ציבורי (רשימת רשימה): משמש למיון האלמנטים של List. רכיבי רשימה חייבים להיות מסוג Comparable.
הערה: מחלקות String ו-Wrapper מיישמות את הממשק Comparable. אז אם אתה מאחסן את האובייקטים של מחלקות מחרוזת או עטיפה, זה יהיה בר-השוואה.
דוגמה למיון אובייקטי מחרוזת
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
דוגמה למיון אובייקטים בכיתה Wrapper
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