Руководство по Java Core. Коллекции. Алгоритмы.

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, а также разработали простое приложение, которое использует некоторые из них.