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
, якщо в переданих колекціях немає однакових елементів.
Код | Виведення на екран |
---|---|
|
|
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ