ArrayList в Java е a с възможност за промяна на размера (или динамичен) масив от пакет java.util които могат да растат или да се свиват автоматично, когато елементите се добавят или премахват, за разлика от обикновените масиви с фиксиран размер.
следващ java скенер
- Индексиран достъп: Елементите могат да бъдат достъпни чрез техния индекс точно както масивите.
- Позволява дубликати: Допускат се дублиращи се елементи.
- Поддържа поръчка за вмъкване: Елементите се съхраняват в реда, в който са вмъкнати.
- Не е синхронизирано: По подразбиране 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.
Javaimport 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 Обектен елемент) | Този метод се използва за вмъкване на конкретен елемент в определен индекс на позиция в списък. |
| добавяне (обект o) | Този метод се използва за добавяне на конкретен елемент в края на списък. |
| addAll(Колекция C) | Този метод се използва за добавяне на всички елементи от конкретна колекция в края на споменатия списък в такъв ред, че стойностите да се връщат от итератора на определената колекция. |
| addAll(int index Collection C) | Използва се за вмъкване на всички елементи, започващи от посочената позиция, от конкретна колекция в споменатия списък. |
| ясно() | Този метод се използва за премахване на всички елементи от всеки списък. |
| клонинг() | Този метод се използва за връщане на плитко копие на ArrayList в Java. |
| съдържа (обект o) | Връща true, ако този списък съдържа посочения елемент. |
| secureCapacity(int minCapacity) | Увеличава капацитета на този екземпляр на ArrayList, ако е необходимо, за да се гарантира, че може да съдържа поне броя елементи, посочени от аргумента за минимален капацитет. |
| forEach(Потребител super E>действие) | Извършва даденото действие за всеки елемент от Iterable, докато всички елементи бъдат обработени или действието хвърли изключение. |
| get(int индекс) | Връща елемента на посочената позиция в този списък. |
| indexOf(обект O) | Индексът на първото появяване на конкретен елемент или се връща, или -1 в случай, че елементът не е в списъка. |
| isEmpty() | Връща true, ако този списък не съдържа елементи. |
| lastIndexOf(обект O) | Индексът на последното срещане на конкретен елемент се връща или -1 в случай, че елементът не е в списъка. |
| listIterator() | Връща итератор на списък върху елементите в този списък (в правилна последователност). |
| listIterator(int индекс) | Връща итератор на списък върху елементите в този списък (в правилна последователност), започвайки от указаната позиция в списъка. |
| премахване (индекс) | Премахва елемента на посочената позиция в този списък. |
| премахване (обект o) | Премахва първото срещане на посочения елемент от този списък, ако присъства. |
| removeAll(Колекция c) | Премахва от този списък всички негови елементи, които се съдържат в указаната колекция. |
| removeIf (филтър на предикат) | Премахва всички елементи от тази колекция, които отговарят на дадения предикат. |
| removeRange(int fromIndex int toIndex) | Премахва от този списък всички елементи, чийто индекс е между от индекс включително и до индекс изключителен. |
| retainAll(Колекция>в) | Запазва само елементите в този списък, които се съдържат в указаната колекция. |
| set(int index E елемент) | Заменя елемента на посочената позиция в този списък с посочения елемент. |
| размер () | Връща броя на елементите в този списък. |
| сплитератор() | Създава късно свързващ и бърз Spliterator върху елементите в този списък. |
| subList(int fromIndex int toIndex) | Връща изглед на частта от този списък между посочения fromIndex включително и toIndex изключителен. |
| toArray() | Този метод се използва за връщане на масив, съдържащ всички елементи в списъка в правилния ред. |
| toArray(Object[] O) | Използва се и за връщане на масив, съдържащ всички елементи в този списък в правилния ред, същият като предишния метод. |
| trimToSize() | Този метод се използва за намаляване на капацитета на екземпляра на ArrayList до текущия размер на списъка. |