logo

Lajittelu kokoelmassa

Voimme lajitella elementit:

  1. Merkkijonoobjektit
  2. Wrapper-luokan objektit
  3. 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