ArrayList в Java
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.
Java import 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
| Операція | Часова складність | Космічна складність |
|---|---|---|
| Вставлення елемента в 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 до поточного розміру списку. |