Ми можемо сортувати елементи:
- Рядкові об'єкти
- Об'єкти класу-огортки
- Визначені користувачем об'єкти класу
Колекції клас надає статичні методи для сортування елементів колекції. Якщо елементи колекції мають тип 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