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() визначає, скільки разів зустрічається елемент obj у колекції colls
| Код | Виведення на екран |
|---|---|
|
|
Метод Collections.binarySearch(List<T> list, T key)
Метод binarySearch() шукає елемент key у списку list і повертає номер знайденого елемента. Якщо елемент не знайдено, повертає від'ємне число.
binarySearch() список слід відсортувати (
Collections.sort()).
| Код | Виведення на екран |
|---|---|
|
|
Метод Collections.disjoint(Collection<T> coll1, Collection<T> coll2)
Метод disjoint() повертає true, якщо в переданих колекціях немає однакових елементів.
| Код | Виведення на екран |
|---|---|
|
|
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ