logo

Сортування в колекції

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

  1. Рядкові об'єкти
  2. Об'єкти класу-огортки
  3. Визначені користувачем об'єкти класу
Колекції клас надає статичні методи для сортування елементів колекції. Якщо елементи колекції мають тип Set, ми можемо використовувати TreeSet. Однак ми не можемо сортувати елементи списку. Клас Collections надає методи для сортування елементів типу List.

Метод класу Collections для сортування елементів List

public void сортування (список списку): використовується для сортування елементів списку. Елементи списку мають бути типу 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