Možemo sortirati elemente:
- String objekti
- Objekti klase omotača
- 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