Collections Framework имеет несколько алгоритмов, которые могут применяться к различным структурам данных.
Эти алгоритмы разработаны в виде статических методов внутри классов фреймворка.
Этих методов почти 40, поэтому приводить весь список мы не будем, вы можете ознакомиться с ними в официальной документации.
Скажем лишь то, что эти алгоритмы позволяют выполнять поиск, сортировку, копирование и т.д.
Для понимания того, как это работает на практике, рассмотрим пример простого приложения.
Пример:
Класс AlgorithmsDemo
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class AlgorithmsDemo {
public static void main(String[] args) {
List arrayList = new ArrayList<>();
arrayList.add(-1);
arrayList.add(53);
arrayList.add(23);
arrayList.add(-42);
arrayList.add(95);
arrayList.add(12);
arrayList.add(36);
arrayList.add(15);
System.out.println("Initial arrayList:");
System.out.println(arrayList);
System.out.println("\n===============================\n");
System.out.println("Sorting arrayList...");
Collections.sort(arrayList);
System.out.println("Sorted arrayList:");
System.out.println(arrayList);
System.out.println("\n===============================\n");
System.out.println("Inverting collection...");
Comparator comparator = Collections.reverseOrder();
Collections.sort(arrayList, comparator);
System.out.println("Inverted arrayList:");
System.out.println(arrayList);
System.out.println("\n===============================\n");
System.out.println("Shuffling arrayList...");
Collections.shuffle(arrayList);
System.out.println("Shuffled arrayList:");
System.out.println(arrayList);
System.out.println("\n===============================\n");
}
}
/*Some System Messages*/
В результате работы этой программы мы получим следующий результат:
Initial arrayList:
[-1, 53, 23, -42, 95, 12, 36, 15]
===============================
Sorting arrayList...
Sorted arrayList:
[-42, -1, 12, 15, 23, 36, 53, 95]
===============================
Inverting collection...
Inverted arrayList:
[95, 53, 36, 23, 15, 12, -1, -42]
===============================
Shuffling arrayList...
Shuffled arrayList:
[-42, 15, 95, 12, 53, -1, 23, 36]
===============================
В этом разделе мы рассмотрели алгоритмы в Collections Framework, а также разработали простое приложение, которое использует некоторые из них.