Můžeme třídit prvky:
- Řetězcové předměty
- Objekty třídy Wrapper
- Objekty třídy definované uživatelem
Sbírky třída poskytuje statické metody pro řazení prvků kolekce. Pokud jsou prvky kolekce typu Set, můžeme použít TreeSet. Nemůžeme však seřadit prvky seznamu. Třída Collections poskytuje metody pro řazení prvků prvků typu List. |
Metoda třídy Collections pro řazení prvků seznamu
public void sort (seznam seznamu): se používá k řazení prvků seznamu. Prvky seznamu musí být typu Porovnatelné.
Poznámka: Třídy String a Wrapper implementují rozhraní Comparable. Pokud tedy uložíte objekty tříd string nebo wrapper, bude to srovnatelné.
Příklad pro třídění řetězcových objektů
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()); } } }Otestujte to hned
Mukesh Saurav Tahir Viru
Příklad řazení řetězcových objektů v opačném pořadí
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
Příklad řazení objektů třídy 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
Příklad řazení objektů třídy definovaných uživatelem
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