Voimme lajitella elementit:
- Merkkijonoobjektit
- Wrapper-luokan objektit
- Käyttäjän määrittämät luokkaobjektit
Kokoelmat luokka tarjoaa staattisia menetelmiä kokoelman elementtien lajitteluun. Jos kokoelmaelementit ovat Set-tyyppisiä, voimme käyttää TreeSetiä. Emme kuitenkaan voi lajitella Listan elementtejä. Kokoelmat-luokka tarjoaa menetelmiä List-tyyppisten elementtien elementtien lajitteluun. |
Method of Collections -luokka List-elementtien lajitteluun
public void sort (List list): käytetään Listan elementtien lajitteluun. Luettelon elementtien on oltava tyyppiä Comparable.
Huomautus: String class ja Wrapper-luokat toteuttavat Comparable-rajapinnan. Joten jos tallennat merkkijono- tai kääreluokkien objektit, se on vertailukelpoinen.
Esimerkki merkkijonoobjektien lajittelusta
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()); } } }Testaa nyt
Mukesh Saurav Tahir Viru
Esimerkki merkkijonoobjektien lajittelusta käänteisessä järjestyksessä
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
Esimerkki Wrapper-luokan objektien lajittelusta
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
Esimerkki käyttäjän määrittämien luokkaobjektien lajittelusta
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