1. Список методов
Помните, что разработчики Java для удобства работы с массивами написали целый класс-помощник — Arrays?
Для коллекций они сделали то же самое. В Java есть класс java.util.Collections, у которого очень много методов, полезных при работе с коллекциями. Ниже приведем только самые интересные из них:
| Методы | Описание |
|---|---|
|
Добавляет в коллекцию colls элементы e1, e2, e3,... |
|
Заменяет в переданном списке все элементы на obj |
|
Возвращает список, состоящий из n копий объекта obj |
|
Заменяет в списке list все значения oldVal на newVal |
|
Копирует все элементы из списка src в список dest |
|
Разворачивает список задом наперед |
|
Сортирует список в порядке возрастания |
|
Циклично сдвигает элементы списка list на n элементов |
|
Случайно перемешивает элементы списка |
|
Находит минимальный элемент коллекции colls |
|
Находит максимальный элемент коллекции colls |
|
Определяет, сколько раз элемент obj встречается в коллекции colls |
|
Ищет элемент key в отсортированном списке, возвращает индекс. |
|
Возвращает true, если у коллекций нет общих элементов |
Многие из этих методов работают не с классами ArrayList, HashSet и HashMap, а с их интерфейсами: Collection<T>, List<T>, Map<K, V>.
Это не проблема: если метод принимает List<T>, в него всегда можно передать ArrayList<Integer>, но вот в обратную сторону присваивание не работает.
2. Создание и изменение коллекций
Метод Collections.addAll(Collection<T> colls, T e1, T e2, T e3, ...)
Метод addAll() добавляет в коллекцию colls элементы e1, e2, e3, ... Количество переданных элементов может быть любым.
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.fill(List<T> list, T obj)
Метод fill() заменяет все элементы коллекции list на элемент obj.
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.nCopies (int n, T obj)
Метод nCopies() возвращает список из n копий элементов obj. Список можно назвать фиктивным (реального массива внутри нет), поэтому изменять его нельзя! Можно использовать только для чтения.
| Код | Описание |
|---|---|
|
Создаем неизменяемый список из 5 элементов ПриветСоздаем реальный список list, заполняем его значениями из списка fake.Выводим на экран: |
Метод Collections.replaceAll (List<T> list, T oldValue, T newValue)
Метод replaceAll() заменяет все элементы коллекции list, равные oldValue, на элемент newValue.
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.copy (List<T> dest, List<T> src)
Метод copy() копирует все элементы коллекции src в коллекцию dest.
Если изначально коллекция dest длиннее чем коллекция src, то оставшиеся элементы в коллекции dest останутся нетронутыми.
dest должна иметь длину не меньше, чем длина коллекции
src (иначе кинется исключение
IndexOutOfBoundsException).
| Код | Вывод на экран |
|---|---|
|
|
3. Порядок элементов
Метод Collections.reverse(List<T> list)
Метод reverse() меняет порядок переданных в него элементов списка на обратный.
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.sort(List<T> list)
Метод sort() сортирует переданный в него список по возрастанию.
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.rotate(List<T> list, int distance)
Метод rotate() циклическим образом сдвигает переданные в него элементы на distance позиций вперед.
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.shuffle(List<T> list)
Метод shuffle() случайным образом перемешивает все элементы переданного списка. Результат каждый раз разный.
| Код | Вывод на экран |
|---|---|
|
|
4. Поиск элементов в коллекциях
Метод Collections.min(Collection<T> colls)
Метод min() возвращает минимальный элемент коллекции.
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.max(Collection<T> colls)
Метод max() возвращает максимальный элемент коллекции.
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.frequency(Collection<T> colls, T obj)
Метод frequency() подсчитывает, сколько раз в коллекции colls встречается элемент obj
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.binarySearch(List<T> list, T key)
Метод binarySearch() ищет элемент key в списке list. Возвращает номер найденного элемента. Если элемент не найден, возвращает отрицательное число.
binarySearch() список нужно отсортировать (
Collections.sort()).
| Код | Вывод на экран |
|---|---|
|
|
Метод Collections.disjoint(Collection<T> coll1, Collection<T> coll2)
Метод disjoint() возвращает true, если у переданных коллекций нет одинаковых элементов.
| Код | Вывод на экран |
|---|---|
|
|