— А вот и я.

— Я уже давно тебя тут жду.

— Надеюсь. Тогда продолжим.

Представляю тебе супермеганавороченный утилитный класс для коллекций.

— Я уже весь дрожу.

— Отлично. Тогда начнем. Вот методы класса Collections:

Код Пояснение
boolean addAll(Collection<? super T> c, T... elements)
Добавляет переданные элементы в переданную коллекцию.
Удобно использовать в виде Collections.addList(list, 10,11,12,13,14,15)
Queue<T> asLifoQueue(Deque<T> deque) 
Возвращает «обычную очередь», сделанную из «обратной очереди».
int binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
Ищет с помощью двоичного поиска элемент key в списке list.
Список должен быть отсортирован.
Можно задать компаратор для сравнения элементов.
Collection<E> checkedCollection(Collection<E> c, Class<E> type) 
Проверяет, что все элементы коллекции «с» определенного типа «type».
Аналогичные методы существуют для List, Map, Set и SortedSet.
void copy(List<? super T> dest, List<? extends T> src)
Копирует список «src»в список «dest».
boolean disjoint(Collection<?> c1, Collection<?> c2)
 Проверяет, что коллекции не содержат общих элементов
void fill(List<? super T> list, T obj)
 Заполоняет список list, элементом obj
int frequency(Collection<?> c, Object o)
Подсчитывает, сколько раз в коллекции «с» встречается объект «o»
int indexOfSubList(List<?> source, List<?> target)
Определяет индекс, с которого в список source входит список target как подпоследовательность.
Принцип аналогичен String.indexOf(«somestring»)
int lastIndexOfSubList(List<?> source, List<?> target)
Определяет последний индекс, с которого в список source входит список target как подпоследовательность.
Аналогичен String.lastIndexOf(«somestring»)
max(Collection<? extends T> coll)
 Ищет максимальное число/значение в коллекции.
Как найти максимум из 6-и чисел?
Collections.max(Arrays.asList(51, 42, 33, 24, 15, 6));
min(Collection<? extends T> coll)
 Ищет минимальное значение в коллекции.
List<T> nCopies(int n, T o)
 Создает фиктивную коллекцию, которая выглядит так, как будто в ней «n» раз встречается элемент «o».
boolean replaceAll(List<T> list, T oldVal, T newVal)
Заменяет в коллекции list все элементы oldVal на newVal
void reverse(List<?> list)
Разворачивает список задом наперед.
void shuffle(List<?> list)
 Перемешивает элементы списка случайным образом.
List<T> singletonList(T o)
Возвращает неизменяемый список, состоящий из одного переданного элемента.
Аналогичные методы существуют для Map, Set и SortedSet.
void sort(List<T> list)
 Сортирует список по возрастанию.
void swap(List<?> list, int i, int j)
 Меняет элементы списка местами
Collection<T> synchronizedCollection(Collection<T> c)
Оборачивает данную коллекцию в ее синхронизированный аналог.
Аналогичные методы существуют для List, Map, Set и SortedSet.

— Ничего себе! Да это же целый арсенал, а я и десятой части не использовал.

— Собственно, на этом моя сегодняшняя лекция и заканчивается.

Посмотри эти методы, найти те, которые, скорее всего, будешь использовать.

А еще лучше – выучи. Они тебе пригодятся.

— Спасибо тебе, Риша. Пойду учить.