logo

Třídění ve sbírce

Můžeme třídit prvky:

  1. Řetězcové předměty
  2. Objekty třídy Wrapper
  3. 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