Môžeme triediť prvky:
- Reťazové predmety
- Objekty triedy Wrapper
- Objekty triedy definované používateľom
zbierky poskytuje statické metódy na triedenie prvkov kolekcie. Ak sú prvky kolekcie typu Set, môžeme použiť TreeSet. Nemôžeme však triediť prvky zoznamu. Trieda Collections poskytuje metódy na triedenie prvkov prvkov typu List. |
Metóda triedy Collections na triedenie prvkov zoznamu
public void sort (zoznam zoznamov): sa používa na triedenie prvkov zoznamu. Prvky zoznamu musia byť typu Porovnateľné.
Poznámka: Triedy String a Wrapper implementujú rozhranie Comparable. Ak teda uložíte objekty tried string alebo wrapper, bude to porovnateľné.
Príklad na triedenie objektov reťazca
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()); } } }Vyskúšajte to
Mukesh Saurav Tahir Viru
Príklad na triedenie objektov reťazca v opačnom poradí
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
Príklad na triedenie objektov triedy 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
Príklad na triedenie objektov definovaných používateľom
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