Клас ArrayList розширює AbstractList, втілює інтерфейс List і підтримує динамічні (змінювані за розміром) масиви.
Стандартні масиви Java мають фіксовану довжину. Після створення масивів вони не можуть зростати або зменшуватися. Це означає, що потрібно заздалегідь знати, яку найбільшу кількість значеннь потрібно зберігати у ньому.
Списки масивів ArrayList створюють з початковим розміром. Коли цей розмір перевищено, довжину автоматично збільшують. Коли видаляють об'єкти, довжину буде скорочено.
Конструктори ArrayList-
ArrayList() — створює порожній список масивів.
-
ArrayList(c) — будує список, ініціалізований елементами колекції с.
-
ArrayList(n) — створює список з розміром базового масиву n (тип int).
Методи ArrayList
(додатково до методів, успадкованих від батьківських класів)-
add(j, o) — вставляє об'єкт o у розташування з індексом j. Породжує виняток IndexOutOfBoundsException, якщо індекс виходить за допустимі межі.
-
add(o) — додає об'єкт o до кінця цього списку.
-
addAll(c) — додає всі елементи колекції c до кінця списку в тому порядку, в якому їх повертає ітератором колекції. Породжує виняток NullPointerException, якщо колекція має значення null.
-
addAll(j, c) — вставляє всі елементи колекції c у список, починаючи з позиції з індексом j. Породжує виняток NullPointerException, якщо колекція має значення null.
-
clear() — видаляє всі елементи списку.
-
clone() — повертає копію масиву.
-
contains(o) — повертає true, якщо список містить об'єкт o, інакше повертає false.
-
ensureCapacity(n) — збільшує ємність для гарантування можливості утримування принаймні n (тип int) елементів, заданих аргументом мінімальної ємності.
-
get(j) — повертає об'єкт з розташування з індексом j. Породжує виняток IndexOutOfBoundsException, якщо цей індекс виходить за допустимі межі.
-
indexOf(o) — повертає індекс (тип int) першої згадки об'єкта o або -1, якщо такого об'єкта немає.
-
lastIndexOf(o) — повертає індекс (тип int) останньої згадки об'єкта o або -1, якщо такого об'єкта немає.
-
remove(j) — видаляє і повертає елемент з розташування з індексом j. Породжує виняток IndexOutOfBoundsException, якщо індекс виходить за допустимі межі.
-
removeRange(j, k) — видаляє зі списку всі елементи, індекс яких перебуває між j, включно, і k, виключно.
-
set(j, o) — замінює значення елемента у розташуванні з індексом j на значення об'єкта o. Повертає попереднє (до заміни) значення. Породжує виняток IndexOutOfBoundsException, якщо індекс виходить за допустимі межі.
-
size() — повертає кількість елементів списку (тип int).
-
toArray() — повертає масив, що містить усі елементи списку у правильному порядку. Породжує виняток NullPointerException, якщо масив дорівнює null.
-
toArray(a) — повертає масив, що містить усі елементи списку у правильному порядку. Тип повернутого масива - такий самий, як в а.
-
trimToSize() — обрізає ємність до його поточних розмірів.
Див. приклад коду
package work;
import java.util.*;
public class Work
{ public static void main(String args[])
{ ArrayList<String> a = new ArrayList<String>();
System.out.println("Початковий розмір " + a.size());
a.add("B");
a.add("C");
a.add("D");
a.add(0,"A");
System.out.println("Після наповнення розмір "+a+" cкладає " + a.size());
a.remove("B");
a.remove(1);
System.out.println("Після видалення розмір "+a+" cкладає " + a.size());
}
}
з таким виведенням.
Початковий розмір 0
Після наповнення розмір [A, B, C, D] cкладає 4
Після видалення розмір [A, D] cкладає 2