logo

Triedenie v zbierke

Môžeme triediť prvky:

  1. Reťazové predmety
  2. Objekty triedy Wrapper
  3. 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