Класс ArrayList. Динамический массив. Общие сведения. Создание массива
Содержание
Поиск на других ресурсах:
1. Список методов класса ArrayList
Класс ArrayList представляет собой динамический массив. В динамическом массиве элементы добавляются и удаляются при необходимости в отличие от стандартных массивов. В стандартном массиве изменить количество элементов массива не получится. Для этого нужно создавать новый массив с новым размером в другом участке памяти и копировать в него данные исходного стандартного массива.
Динамические массивы эффективны в случаях, когда в начале выполнения программы размер массива (данных) неизвестен. Этот размер формируется по мере необходимости.
Класс ArrayList реализует интерфейс List и имеет следующие объявления:
class ArrayList<E>
здесь E – тип сохраняемых объектов.
Список распространенных методов класса следующий:
- add – добавить элемент в массив;
- addAll – добавить набор в массив;
- clear – очистить массив;
- clone – получить копию массива;
- contains – определить, содержится ли в списке определенный элемент;
- containsAll – определить, есть ли все элементы некоторой коллекции в заданной коллекции;
- ensureCapacity – зарезервировать фрагмент памяти для массива;
- get – получить элемент массива;
- indexOf – определить позицию первого вхождения элемента в массиве;
- isEmpty – определить, пустой ли массив;
- iterator – получить итератор на массив;
- lastIndexOf – определить позицию последнего вхождения элемента в массиве;
- listIterator – получить итератор в виде списка;
- remove – удалить элемент в заданной позиции;
- removeAll – удалить группу элементов из коллекции;
- removeIf – изменить коллекцию на основе предиката;
- replaceAll – произвести вычисление над каждым элементом массива;
- retainAll – сформировать новый массив, содержащий элементы заданной коллекции;
- set – установить новое значение в массиве;
- size – получить размер массива;
- sort – рассортировать элементы массива в заданном порядке;
- subList – получить фрагмент массива на основе заданного массива;
- toArray – конвертировать массив в массив типа Object[];
- trimToSize – скорректировать текущий размер массива.
⇑
2. Конструкторы класса. Создание массива. Пример
В классе ArrayList определены следующие конструкторы:
ArrayList() ArrayList(Collection<? extends E>) ArrayList(int size)
здесь
- E – тип элементов коллекции;
- size – текущий размер массива.
Первый конструктор создает пустой динамический массив. Второй конструктор создает динамический массив на основе другого массива.
Третий конструктор создает пустой массив с зарезервированным объемом размера size. Если при наращивании количество элементов в таком массиве превысит size, то зарезервированный объем (максимальная емкость) будет увеличен на некоторую величину.
Пример. В примере создаются разные виды динамических массивов.
import java.util.*; public class TrainCollections { public static void main(String[] args) { // 1. Конструктор ArrayList() // Создать пустой массив целых чисел ArrayList<Integer> AL = new ArrayList(); // Прибавить к массиву числа от 0 до 9 for (int i=0; i<10; i++) AL.add(i); System.out.println(AL); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] // 2. Создать массив строк на основе другого массива строк, // конструктор ArrayList(Collection<? extends E>) // 2.1. Создать исходный массив ArrayList<String> AS1 = new ArrayList(); AS1.add("Winter"); AS1.add("Spring"); AS1.add("Autumn"); AS1.add("Summer"); System.out.println(AS1); // [Winter, Spring, Autumn, Summer] // 2.2. Использовать конструктор ArrayList(Collection<? extends E>) ArrayList<String> AS2 = new ArrayList(AS1); System.out.println(AS2); // [Winter, Spring, Autumn, Summer] // 3. Конструктор ArrayList(int) // 3.1. Создать пустой массив з зарезервированным размером 8 элементов ArrayList<Character> AC = new ArrayList(8); // 3.2. Вывести размер массива System.out.println(AC.size()); // 0 - это есть текущий размер массива } }
Результат выполнения программы
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [Winter, Spring, Autumn, Summer] [Winter, Spring, Autumn, Summer] 0
⇑
Связанные темы
- Методы изменяющие данные в массиве. Методы add(), addAll(), clear(), remove(), removeIf(), replaceAll(), set(), sort()
- Методы, определяющие информацию об элементах массива. Методы get(), contains(), containsAll(), indexOf(), lastIndexOf(), iterator(), listIterator()
- Методы определяющие общие характеристики массива. Методы ensureCapacity(), isEmpty(), size(), trimToSize()
- Методы преобразующие массив в целом. Методы clone(), sublist(), toArray(), retainAll()
⇑