ArrayList у Java – це a змінний розмір (або динамічний) масив із пакет java.util які можуть автоматично збільшуватися або зменшуватися в міру додавання або видалення елементів, на відміну від звичайних масивів із фіксованим розміром.
- Індексований доступ: Доступ до елементів можна отримати за допомогою їхнього індексу, як і до масивів.
- Дозволяє дублікати: Допускаються повторювані елементи.
- Підтримує порядок вставки: Елементи зберігаються в порядку їх вставлення.
- Не синхронізовано: За замовчуванням ArrayList не є потокобезпечним (для одночасного доступу необхідна ручна синхронізація).
import java.util.ArrayList; class Main { public static void main (String[] args) { // Creating an ArrayList ArrayList<Integer> a = new ArrayList<Integer>(); // Adding Element in ArrayList a.add(1); a.add(2); a.add(3); // Printing ArrayList System.out.println(a); } }
Вихід
[1 2 3]
Ієрархія ArrayList
Це реалізує Інтерфейс списку який є підінтерфейсом Інтерфейс колекції .
Конструктори ArrayList в Java
Java надає кілька конструкторів для створення ArrayList на основі різних вимог:
1. ArrayList()
Створює порожній ArrayList із початковою ємністю за замовчуванням.
ArrayList
arr = новий ArrayList<>();
2. ArrayList arr = новий ArrayList<>()
Створює ArrayList, ініціалізований елементами з указаної колекції.
ArrayList
arr = новий ArrayList<>(збірник);
3. ArrayList(int initialCapacity)
Цей конструктор використовується для створення списку масивів із заданою початковою ємністю.
ArrayList
arr = новий ArrayList<>(20);
Операції ArrayList
Тепер за допомогою конструкторів ми отримали ArrayList для подальших операцій, таких як InsertionDeletion і Updation елементів у ArrayList.
Javaimport java.util.*; class GFG{ public static void main(String args[]){ // Creating an Array of string type ArrayList<String> al = new ArrayList<>(); // 1. Adding elements to ArrayList at the end al.add('Geeks'); al.add('Geeks'); System.out.println('Original List : '+al); // Adding Elements at the specific index al.add(1 'For'); System.out.println('After Adding element at index 1 : '+ al); // 2. Removing Element using index al.remove(0); System.out.println('Element removed from index 0 : '+ al); // Removing Element using the value al.remove('Geeks'); System.out.println('Element Geeks removed : '+ al); // 3. Updating value at index 0 al.set(0 'GFG'); System.out.println('List after updation of value : '+al); } }
Вихід
Original List : [Geeks Geeks] After Adding element at index 1 : [Geeks For Geeks] Element removed from index 0 : [For Geeks] Element Geeks removed : [For] List after updation of value : [GFG]
Складність Java ArrayList
Операція if else цикл у java | Часова складність | Космічна складність |
|---|---|---|
Вставлення елемента в ArrayList | О(1) | O(N) |
Видалення елемента зі списку ArrayList | O(N) | О(1) |
Обхід елементів у ArrayList | O(N) | O(N) |
Заміна елементів у ArrayList | О(1) | О(1) |
Методи Java ArrayList
| метод | опис |
|---|---|
| add(int index Object element) | Цей метод використовується для вставки певного елемента в певну позицію в списку. |
| додати (об'єкт o) | Цей метод використовується для додавання певного елемента в кінець списку. |
| addAll(колекція C) | Цей метод використовується для додавання всіх елементів із певної колекції в кінець згаданого списку в такому порядку, щоб значення поверталися ітератором зазначеної колекції. |
| addAll(int index Collection C) | Використовується для вставки всіх елементів, починаючи з указаної позиції, з певної колекції у згаданий список. |
| очистити() | Цей метод використовується для видалення всіх елементів з будь-якого списку. |
| клонувати() | Цей метод використовується для повернення поверхневої копії ArrayList у Java. |
| містить (об'єкт o) | Повертає true, якщо цей список містить вказаний елемент. |
| secureCapacity(int minCapacity) | Збільшує ємність цього екземпляра ArrayList, якщо необхідно, щоб переконатися, що він може містити принаймні кількість елементів, визначену аргументом мінімальної ємності. |
| forEach(Споживач super E>дія) | Виконує задану дію для кожного елемента Iterable, доки всі елементи не будуть оброблені або дія не викличе виняткову ситуацію. |
| отримати (індекс індексу) | Повертає елемент у вказаній позиції в цьому списку. |
| indexOf(Об'єкт O) | Індекс першого входження певного елемента або повертається, або -1, якщо елемента немає в списку. |
| isEmpty() | Повертає true, якщо цей список не містить елементів. |
| lastIndexOf(Об'єкт O) | Повертається індекс останнього входження певного елемента або -1, якщо елемента немає в списку. |
| listIterator() | Повертає ітератор списку над елементами цього списку (у правильній послідовності). |
| listIterator(індекс int) | Повертає ітератор списку над елементами цього списку (у належній послідовності), починаючи з указаної позиції у списку. |
| видалити (індекс) | Видаляє елемент у вказаній позиції в цьому списку. |
| видалити (об'єкт o) | Видаляє перше входження зазначеного елемента зі списку, якщо він присутній. |
| removeAll(Collection c) | Видаляє з цього списку всі його елементи, які містяться у вказаній колекції. |
| removeIf (фільтр предикатів) | Видаляє всі елементи цієї колекції, які задовольняють заданий предикат. |
| removeRange(int fromIndex int toIndex) | Видаляє з цього списку всі елементи, індекс яких знаходиться між індексом включно та без індексу. |
| retainAll(Колекція>в) | Зберігає лише елементи цього списку, які містяться у вказаній колекції. |
| set(int index E element) | Замінює елемент у вказаній позиції в цьому списку вказаним елементом. |
| розмір() | Повертає кількість елементів у цьому списку. |
| spliterator() | Створює пізній зв’язувальний і швидкий Spliterator над елементами в цьому списку. |
| subList(int fromIndex int toIndex) | Повертає перегляд частини цього списку між указаним fromIndex включно та toIndex винятково. |
| toArray() | Цей метод використовується для повернення масиву, який містить усі елементи списку в правильному порядку. |
| toArray(Object[] O) | Він також використовується для повернення масиву, що містить усі елементи цього списку в правильному порядку, як і попередній метод. |
| trimToSize() | Цей метод використовується для скорочення ємності екземпляра ArrayList до поточного розміру списку. |