— А ось і я.

— Я вже давно на тебе тут чекаю.

— Сподіваюся. Тоді продовжимо.

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

— Я вже весь тремчу.

— Чудово. Тоді розпочнемо. Ось методи класу 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)< /code>
 Шукає максимальне число/значення в колекції.
Як знайти максимум із 6-ти чисел?
Collections.max(Arrays.asList(51, 42, 33, 24, 15, 6));
min(Collection<? extends T> coll)< /code>
 Шукає мінімальне значення в колекції.
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.

— Нічого собі! Та це ж цілий арсенал, а я і десятої частини не використав.

— Власне, на цьому моя сьогоднішня лекція закінчується.

Подивися цих методів, знайти ті, які, швидше за все, будеш використовувати.

А ще краще – вивчи. Вони тобі стануть у пригоді.

— Дякую тобі, Ріша. Піду вчити.