logo

Razvrstavanje u kolekciji

Možemo sortirati elemente:

  1. String objekti
  2. Objekti klase omotača
  3. Korisnički definirani objekti klase
Zbirke klasa pruža statičke metode za sortiranje elemenata zbirke. Ako su elementi kolekcije tipa Set, možemo koristiti TreeSet. Međutim, ne možemo sortirati elemente popisa. Klasa Collections pruža metode za sortiranje elemenata tipa List.

Metoda klase Collections za sortiranje List elemenata

javna praznina sortiranja (popis popisa): koristi se za sortiranje elemenata liste. Elementi popisa moraju biti tipa Comparable.

Napomena: String klasa i klasa Wrapper implementiraju sučelje Comparable. Dakle, ako pohranjujete objekte nizova ili klasa omotača, to će biti usporedivo.

Primjer sortiranja string objekata

 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()); } } } 
Testirajte sada
 Mukesh Saurav Tahir Viru 

Primjer sortiranja objekata niza obrnutim redoslijedom

 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 

Primjer sortiranja objekata klase 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 

Primjer sortiranja korisnički definiranih objekata klase

 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