Possiamo ordinare gli elementi di:
- Oggetti stringa
- Oggetti di classe wrapper
- Oggetti di classe definiti dall'utente
Collezioni La classe fornisce metodi statici per ordinare gli elementi di una raccolta. Se gli elementi della raccolta sono di tipo Set, possiamo utilizzare TreeSet. Tuttavia, non possiamo ordinare gli elementi di List. La classe Collections fornisce metodi per ordinare gli elementi di tipo List. |
Metodo della classe Collections per l'ordinamento degli elementi dell'elenco
public void sort(Lista elenco): viene utilizzato per ordinare gli elementi di List. Gli elementi dell'elenco devono essere di tipo Comparabile.
Nota: la classe String e le classi Wrapper implementano l'interfaccia Comparable. Pertanto, se memorizzi gli oggetti delle classi string o wrapper, sarà comparabile.
Esempio per ordinare oggetti stringa
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()); } } }Provalo adesso
Mukesh Saurav Tahir Viru
Esempio per ordinare gli oggetti stringa in ordine inverso
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
Esempio per ordinare gli oggetti della classe 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
Esempio per ordinare gli oggetti della classe definita dall'utente
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