Найти в Дзене
learn Java

Основа языка Java. Каждый junior должен знать. Класс Collections начало.

В этой статье разберем основу вспомогательного класса Collections в Java.
Java Collections - база, которую должен знать каждый, особенно juniour, так как по этой теме спрашивают на собеседовании. Что ж, начнем. В Java есть класс java.util.Collections, у которого очень много методов, полезных при работе с коллекциями, будь то ArrayList, HashSet, HashMap. Приведу самые основные методы класса: Важно:
Многие из этих методов работают не с классами ArrayList, HashSet и HashMap, а с их интерфейсами: Collection<T>, List<T>, Map<K, V>.
Это не проблема: если метод принимает List<T>, в него всегда можно передать ArrayList<Integer>, но вот в обратную сторону присваивание не работает. Пример работы методов: Метод addAll() добавляет в коллекцию colls элементы e1, e2, e3, ... Количество переданных элементов может быть любым. Метод fill() заменяет все элементы коллекции list на элемент obj. Метод nCopies() возвращает список из n копий элементов obj. Список можно назвать фиктивным (реального массив

В этой статье разберем основу вспомогательного класса Collections в Java.
Java Collections - база, которую должен знать каждый, особенно juniour, так как по этой теме спрашивают на собеседовании. Что ж, начнем.

В Java есть класс java.util.Collections, у которого очень много методов, полезных при работе с коллекциями, будь то ArrayList, HashSet, HashMap.

Приведу самые основные методы класса:

Важно:
Многие из этих методов работают не с классами
ArrayList, HashSet и HashMap, а с их интерфейсами: Collection<T>, List<T>, Map<K, V>.
Это не проблема: если метод принимает
List<T>, в него всегда можно передать ArrayList<Integer>, но вот в обратную сторону присваивание не работает.

Пример работы методов:

Метод addAll() добавляет в коллекцию colls элементы e1, e2, e3, ... Количество переданных элементов может быть любым.

-2

Метод fill() заменяет все элементы коллекции list на элемент obj.

-3

Метод nCopies() возвращает список из n копий элементов obj. Список можно назвать фиктивным (реального массива внутри нет), поэтому изменять его нельзя! Можно использовать только для чтения.

-4

Метод replaceAll() заменяет все элементы коллекции list, равные oldValue, на элемент newValue.

-5

Метод copy() копирует все элементы коллекции src в коллекцию dest.

Если изначально коллекция dest длиннее чем коллекция src, то оставшиеся элементы в коллекции dest останутся нетронутыми.

Важно:
Коллекция dest должна иметь длину не меньше, чем длина коллекции src (иначе кинется исключение IndexOutOfBoundsException).

Вывод: 99 98 97 4 5 6 7

Метод reverse() меняет порядок переданных в него элементов списка на обратный.

-7

Метод sort() сортирует переданный в него список по возрастанию.

-8

Вывод: 2 4 11 15 23

Метод rotate() циклическим образом сдвигает переданные в него элементы на distance позиций вперед.

-9

Вывод: 7 8 9 1 2 3 4 5 6

Метод shuffle() случайным образом перемешивает все элементы переданного списка. Результат каждый раз разный.

-10

Метод min() возвращает минимальный элемент коллекции.

-11

Метод frequency() подсчитывает, сколько раз в коллекции colls встречается элемент obj

-12

Вывод: 3

Метод binarySearch() ищет элемент obj в коллекции colls. Возвращает номер найденного элемента. Если элемент не найден, возвращает отрицательное число.

Важно:
Перед вызовом метода
binarySearch() коллекцию нужно отсортировать (Collections.sort()).

-13

Метод disjoint() возвращает true, если у переданных коллекций нет одинаковых элементов.

-14

Мы разобрали основные методы класса Collections.

Java Collections - это очень обширная тема, включающая в себя работу с фреймворками и другими технологиями. Но об этом позже.

Спасибо за внимание!