30.11. Java – Класс ArrayList. Конструкторы. Методы. Пример
30. 11. Java – Класс ArrayList
Класс ArrayList в Java расширяет AbstractList и реализует интерфейс List. ArrayList поддерживает динамические массивы, которые могут расти по мере необходимости.
Стандартные массивы Java имеют фиксированную длину. После создания массивов они не могут расти или сокращаться, а это значит, что вы должны заранее знать, сколько элементов будет удерживать массив.
Списки массивов создаются с начальным размером. Когда этот размер превышен, коллекция автоматически увеличивается. Когда объекты удаляются, массив может быть сокращен.
Конструкторы
Ниже приведен список конструкторов, предоставляемых классом ArrayList.
№
| Конструктор и описание
|
| ArrayList( ) Этот конструктор создает пустой список массивов.
|
| ArrayList(Collection c) Этот конструктор строит список массивов, который инициализируется элементами коллекции c.
|
| ArrayList(int capacity) Этот конструктор создает список массивов с указанной начальной capacity. Емкость - это размер базового массива, который используется для хранения элементов. Емкость растет автоматически по мере добавления элементов в список массивов.
|
Методы
Помимо методов, унаследованных от родительских классов, ArrayList определяет следующие методы:
№
| Метод и описание
|
| void add(int index, Object element) Вставляет указанный элемент в указанный индекс позиции в этом списке. Выбрасывает IndexOutOfBoundsException, если указанный индекс выходит за допустимые пределы (index < 0 || index > size()).
|
| boolean add(Object o) Добавляет указанный элемент в конец этого списка.
|
| boolean addAll(Collection c) Добавляет все элементы в указанной коллекции в конец этого списка в том порядке, в котором они возвращаются итератором указанной коллекции. Вызывает NullPointerException, если указанная коллекция имеет значение null (нулевая).
|
| boolean addAll(int index, Collection c) Вставляет все элементы указанной коллекции в этот список, начиная с указанной позиции. Вызывает NullPointerException, если указанная коллекция имеет значение null.
|
| void clear() Удаляет все элементы из этого списка.
|
| Object clone() Возвращает неглубокую копию этого массива.
|
| boolean contains(Object o) Возвращает true, если этот список содержит указанный элемент. Если точнее, то возвращает true тогда и только тогда, когда этот список содержит хотя бы один элемент e такой, что (o==null? e==null: o. equals(e)).
|
| void ensureCapacity(int minCapacity) Увеличивает емкость этого экземпляра ArrayList, если это необходимо, чтобы гарантировать, что он может удерживать, по крайней мере, количество элементов, заданных аргументом минимальной емкости.
|
| Object get(int index) Возвращает элемент в указанной позиции в этом списке. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за допустимые пределы (index < 0 || index > = size()).
|
| int indexOf(Object o) Возвращает индекс в этом списке первого упоминания указанного элемента или -1, если List не содержит этот элемент.
|
| int lastIndexOf(Object o) Возвращает индекс в этом списке последнего упоминания указанного элемента или -1, если List не содержит этот элемент.
|
| Object remove(int index) Удаляет элемент в указанной позиции в этом списке. Вызывает IndexOutOfBoundsException, если индекс выходит за допустимые пределы (index < 0 || index > = size()).
|
| protected void removeRange(int fromIndex, int toIndex) Удаляет из этого списка все элементы, индекс которых находится между fromIndex, включительно, и toIndex, исключительно.
|
| Object set(int index, Object element) Заменяет элемент в указанной позиции в этом списке указанным элементом. Вызывает IndexOutOfBoundsException, если указанный индекс выходит за допустимые пределы (index < 0 || index > = size()).
|
| int size() Возвращает количество элементов в этом списке.
|
| Object[] toArray() Возвращает массив, содержащий все элементы в этом списке в правильном порядке. Вызывает NullPointerException, если указанный массив равен null (нулевой).
|
| Object[] toArray(Object[] a) Возвращает массив, содержащий все элементы в этом списке в правильном порядке; тип выполнения возвращаемого массива - тип указанного массива.
|
| void trimToSize() Обрезает емкость этого экземпляра ArrayList до его текущих размеров.
|
Пример
Следующая демонстрирует работу нескольких методов, поддерживаемых ArrayList в Java:
import java. util. *; public class ArrayListDemo { public static void main(String args[]) { // Инициализация ArrayList // Создаём ArrayList ArrayList al = new ArrayList(); System. out. println(" Изначальный размер al: " + al. size()); // Добавляем элементы в ArrayList al. add(" C" ); al. add(" A" ); al. add(" E" ); al. add(" B" ); al. add(" D" ); al. add(" F" ); al. add(1, " A2" ); System. out. println(" Размер al после добавлений: " + al. size()); // Выводим на экран элементы ArrayList System. out. println(" Содержимое al: " + al); // Удаляем элементы из ArrayList al. remove(" F" ); al. remove(2); System. out. println(" Размер al после удалений: " + al. size()); System. out. println(" Содержимое al: " + al); }}
Получим следующий результат:
Изначальный размер al: 0Размер al после добавлений: 7Содержимое al: [C, A2, A, E, B, D, F]Размер al после удалений: 5Содержимое al: [C, A2, E, B, D]
Воспользуйтесь поиском по сайту: