logo

Сортиране в колекция

Можем да сортираме елементите на:

  1. Стрингови обекти
  2. Обекти от клас обвивка
  3. Дефинирани от потребителя класови обекти
Колекции предоставя статични методи за сортиране на елементите на колекция. Ако елементите на колекцията са от тип Set, можем да използваме TreeSet. Не можем обаче да сортираме елементите на List. Класът Collections предоставя методи за сортиране на елементи от тип List.

Метод на клас Collections за сортиране на елементи от List

обществено невалидно сортиране (списък със списък): се използва за сортиране на елементите на List. Елементите на списъка трябва да са от тип Comparable.

Забележка: Класът String и класовете Wrapper реализират интерфейса Comparable. Така че, ако съхранявате обектите на низове или класове обвивки, това ще бъде Comparable.

Пример за сортиране на низови обекти

 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()); } } } 
Тествайте сега
 Mukesh Saurav Tahir Viru 

Пример за сортиране на низови обекти в обратен ред

 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 

Пример за сортиране на обекти от клас 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 

Пример за сортиране на дефинирани от потребителя класови обекти

 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