- Операции Java ArrayList
- Как добавить элементы в ArrayList?
- Как напечатать элемент arraylist?
- Вывод:
- Как найти длину / размер ArrayList в Java?
- Вывод:
- Как получить конкретный элемент ArrayList?
- Вывод:
- Как получить первый элемент Arraylist?
- Вывод:
- Как получить последний элемент Arraylist?
- Как удалить все элементы из Java ArrayList?
- Вывод:
- Пример ArrayList.removeAll():
- Вывод:
- Удалить объект (удалить (объект)):
- Удалить по индексу:
- Как отсортировать ArrayList в Java?
- Вывод:
- Сортировка ArrayList в обратном порядке?
- Вывод:
- Поиск элемента в Java ArrayList
- Преобразование массива в массив
- Вывод:
- Преобразование массива в ArrayList
- Вывод:
- Преобразование ArrayList в строку
- Вывод:
- Преобразование ArrayList в список
- Вывод:
- ArrayList в Java
- Что хранит ArrayList?
- Конструкторы ArrayList
- Методы ArrayList
- Ссылки на дополнительное чтение
Операции Java ArrayList
ArrayList — одна из самых гибких структур данных из коллекций Java. Arraylist — это класс, который реализует интерфейс List. Он является одним из широко используемых из-за функциональности и гибкости, которые он предлагает. Он предназначен для хранения неоднородных коллекций объектов. Емкость ArrayList — это количество элементов, которые может содержать ArrayList. Поскольку элементы добавляются в ArrayList, емкость динамически увеличивается по мере необходимости путем перераспределения. Он также может содержать повторяющиеся элементы. Элементы в этой коллекции можно получить с помощью целочисленного индекса. Индексы в этой коллекции основаны на нуле. Он позволяет осуществлять произвольный доступ, поскольку массив работает на основе индекса. Кроме того, он поддерживает порядок вставки.
Как добавить элементы в ArrayList?
import Java.util.*; class TestClass < public static void main (String[] args) throws Java.lang.Exception < // создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); // добавление элемента aList.add("Monday"); aList.add("Tuesday"); >>
Как напечатать элемент arraylist?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add(«Sunday»); aList.add(«Monday»); aList.add(«Tuesday»); Iterator ir=aList.iterator(); while(ir.hasNext())
Вывод:
Как найти длину / размер ArrayList в Java?
Используя метод size() класса ArrayList, мы можем легко определить размер ArrayList. Этот метод возвращает количество элементов в объекте ArrayList.
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.size());
Вывод:
Как получить конкретный элемент ArrayList?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.get(1));
Вывод:
Доступ к элементам в ArrayList можно получить с помощью целочисленного индекса, а индексы ArrayList начинаются с нуля. Таким образом, aList.get (1) возвращает второй элемент из ArrayList.
Как получить первый элемент Arraylist?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.get(0));
Вывод:
Поскольку индексы ArrayList начинаются с нуля, aList.get (0) возвращает первый элемент ArrayList.
Как получить последний элемент Arraylist?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.get(aList.size()-1));
AList.size() возвращает итоговые элементы в ArrayList. Поскольку индексы ArrayList начинаются с нуля, aList.size() — 1 возвращает последний элемент ArrayList.
Как удалить все элементы из Java ArrayList?
Вы можете использовать два разных метода для удаления arraylist в Java. Это ArrayList.clear() и ArrayList.removeAll()
//ArrayList.clear(): // создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.size()); aList.clear(); System.out.println(aList.size());
Вывод:
Пример ArrayList.removeAll():
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); System.out.println(aList.size()); aList.removeAll(aList); System.out.println(aList.size());
Вывод:
В случае removeAll вы должны передать тот же ArrayList, что и аргумент.
В случае removeAll вы должны передать тот же ArrayList, что и аргумент.
Методы clear() и removeAll (коллекция) служат в двух разных целях. Метод clear() будет проходить через лежащий в основе массив и установить каждую запись в null, а removeAll (collection) будет проходить проверку ArrayList для сбора и удаления (Object), если она существует. Таким образом, это подтверждает, что clear() выполняется намного быстрее, поскольку ему не нужно иметь дело со всеми этими вызовами дополнительных методов. Как удалить определенный элемент из ArrayList? В общем случае объект может быть удален двумя способами из ArrayList (или вообще любого Списка), по индексу (remove (int)) и по объекту (remove (Object)).
Удалить объект (удалить (объект)):
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); aList.remove("Monday");
Здесь мы передаем аргумент как строковый объект «Понедельник», поэтому он будет удален из коллекции.
Удалить по индексу:
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); aList.remove(1);
Здесь мы передаем аргумент как index remove (1) «Monday», поэтому он будет удален из коллекции.
Как отсортировать ArrayList в Java?
В ArrayList элементы помещаются по мере их вставки. Но при кодировании вы часто нуждаетесь в них в некотором порядке. для сортировки ArrayList используется метод sort() класса Collections.
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add(«Sunday»); aList.add(«Monday»); aList.add(«Tuesday»); System.out.println(«Before sort. «); Iterator ir=aList.iterator(); while(ir.hasNext()) < System.out.println(ir.next()); >Collections.sort(aList); System.out.println(«After sort. «); ir=aList.iterator(); while(ir.hasNext())
Вывод:
Before sort. Sunday Monday Tuesday After sort. Monday Sunday Tuesday
Сортировка ArrayList в обратном порядке?
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add(«Sunday»); aList.add(«Monday»); aList.add(«Tuesday»); Collections.sort(aList,Collections.reverseOrder()); Iterator ir=aList.iterator(); while(ir.hasNext())
Вывод:
Поиск элемента в Java ArrayList
Вы можете проверить, существует ли значение в Java ArrayList, используя следующие методы: ArrayList.contains(), ArrayList.indexOf() и ArrayList.lastIndexOf()
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add(«Sunday»); aList.add(«Monday»); aList.add(«Tuesday»); // Использование метода contains if (aList.contains(«Monday»)) < System.out.println("Account found"); >else < System.out.println("Account not found"); >// использование метода indexOf int val = aList.indexOf(«Monday»); if (val !=-1) < System.out.println("Item found"); >else < System.out.println("Item not found"); >// использование метода lastIndexOf int val = aList.lastIndexOf(«Monday»); if (val !=-1) < System.out.println("Item found"); >else
Преобразование массива в массив
Класс ArrayList имеет метод, называемый toArray(), который мы можем использовать для преобразования ArrayList в массивы.
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); String[] arr = (String[])aList.toArray(new String[aList.size()]); for(String item : arr) System.out.println(item);
Вывод:
Преобразование массива в ArrayList
// создаем массив Object String days[]=; ArrayList < String>arrList= new ArrayList < String>(Arrays.asList(days)); for(String item : arrList) System.out.println(item);
Вывод:
Преобразование ArrayList в строку
Метод String join() поможет вам преобразовать ArrayList в String. Метод Java string join() возвращает строку, связанную с данным разделителем. В методе объединения строк для каждого элемента копируется разделитель.
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); String result = String.join(",", aList); System.out.println(result);
Вывод:
Преобразование ArrayList в список
// создаем список массивов Object ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Tuesday"); List list = aList; Iterator ir=list.iterator(); while(ir.hasNext())< System.out.println(ir.next());
Вывод:
Следующая программа Java иллюстрирует большинство вышеупомянутых методов в одной программе
import Java.util.*; class TestClass < public static void main (String[] args) throws Java.lang.Exception < // создаем новый объект ArrayList ArrayList aList = new ArrayList(); aList.add("Sunday"); aList.add("Monday"); aList.add("Wednesday"); // использование Iterator для просмотра всех элементов в ArrayList Iterator < String>itr = aList.iterator(); while(itr.hasNext()) < System.out.println(itr.next()); >// добавление элемента по указанному индексу aList.add(2,"Tuesday"); System.out.println(aList); // Извлечение элементов ArrayList по индексу System.out.println(aList.get(2)); // Поиск элемента в ArrayList if(aList.contains("Monday")) System.out.println("Item Found"); else System.out.println("Item not Found"); // Удаление одного элемента из ArrayList по индексу aList.remove(1); System.out.println(aList); // Удаление всех элементов из ArrayList aList.clear(); // Проверка вектора - это ArrayList или нет. if(aList.isEmpty()) System.out.println("ArrayList Empty !!"); else System.out.println("ArrayList Contains: " + aList.size() + " elements !!"); > >
ArrayList в Java
ArrayList — реализация изменяемого массива интерфейса List, часть Collection Framework, который отвечает за список (или динамический массив), расположенный в пакете java.utils. Этот класс реализует все необязательные операции со списком и предоставляет методы управления размером массива, который используется для хранения списка. В основе ArrayList лежит идея динамического массива. А именно, возможность добавлять и удалять элементы, при этом будет увеличиваться или уменьшаться по мере необходимости.
Что хранит ArrayList?
Только ссылочные типы, любые объекты, включая сторонние классы. Строки, потоки вывода, другие коллекции. Для хранения примитивных типов данных используются классы-обертки.
Конструкторы ArrayList
ArrayList list = new ArrayList<>();
ArrayList list2 = new ArrayList<>(list);
ArrayList list2 = new ArrayList<>(10000);
Методы ArrayList
Ниже представлены основные методы ArrayList.
ArrayList list = new ArrayList<>(); list.add("Hello");
ArrayList secondList = new ArrayList<>(); secondList.addAll(list); System.out.println("Первое добавление: " + secondList); secondList.addAll(1, list); System.out.println("Второе добавление в середину: " + secondList);
Первое добавление: [Amigo, Hello] Второе добавление в середину: [Amigo, Amigo, Hello, Hello]
ArrayList copyOfSecondList = (ArrayList) secondList.clone(); secondList.clear(); System.out.println(copyOfSecondList);
System.out.println(copyOfSecondList.contains("Hello")); System.out.println(copyOfSecondList.contains("Check"));
// Первый способ for(int i = 0; i < secondList.size(); i++) < System.out.println(secondList.get(i)); >И цикл for-each: // Второй способ for(String s : secondList)
В классе ArrayList есть метод для обработки каждого элемента, который называется также, forEach. В качестве аргумента передается реализация интерфейса Consumer, в котором нужно переопределить метод accept():
secondList.forEach(new Consumer() < @Override public void accept(String s) < System.out.println(s); >>);
Метод accept принимает в качестве аргумента очередной элемент того типа, который хранит в себе ArrayList. Пример для Integer:
ArrayList integerList = new ArrayList<>(); integerList.forEach(new Consumer() < @Override public void accept(Integer integer) < System.out.println(integer); >>);
String[] array = new String[secondList.size()]; secondList.toArray(array); for(int i = 0; i
Ссылки на дополнительное чтение
- Подробная статья о динамических массивах, а точнее — об ArrayList и LinkedList , которые выполняют их роль в языке Java.
- Статья об удалении элементов из списка ArrayList.
- Лекция о работе с ArrayList в схемах и картинках.