ArrayList w Javie to a skalowalny (lub dynamiczną) tablicę z pakiet java.util które mogą automatycznie rosnąć lub zmniejszać się w miarę dodawania lub usuwania elementów, w przeciwieństwie do zwykłych tablic o stałym rozmiarze.
- Dostęp indeksowany: Dostęp do elementów można uzyskać za pomocą ich indeksu, podobnie jak do tablic.
- Zezwala na duplikaty: Zduplikowane elementy są dozwolone.
- Zachowuje kolejność wstawiania: Elementy są przechowywane w kolejności ich wstawiania.
- Niezsynchronizowane: Domyślnie ArrayList nie jest bezpieczny dla wątków (w przypadku równoczesnego dostępu wymagana jest ręczna synchronizacja).
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); } }
Wyjście
[1 2 3]
Hierarchia ArrayList
Implementuje Interfejs listy który jest podinterfejsem Interfejs kolekcji .
Konstruktory ArrayList w Javie
Java udostępnia wiele konstruktorów do tworzenia listy ArrayList w oparciu o różne wymagania:
1. Lista tablic()
Tworzy pustą ArrayList z domyślną pojemnością początkową.
Lista tablic
arr = nowa lista tablic<>();
Liczba pierwsza w Javie
2. Lista tablic arr = nowa lista tablic<>()
Tworzy ArrayList zainicjowaną elementami z określonej kolekcji.
Lista tablic
arr = nowa lista tablic<>(kolekcja);
3. ArrayList(int początkowa pojemność)
Ten konstruktor służy do budowania listy tablic z określoną początkową pojemnością.
Lista tablic
arr = nowa lista tablic<>(20); przeczytaj plik Excela w Javie
Operacje na ArrayList
Teraz korzystając z konstruktorów otrzymaliśmy ArrayList do dalszych operacji, takich jak InsertionDeletion i Aktualizacja elementów w 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); } }
Wyjście
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]
Złożoność Java ArrayList
Działanie | Złożoność czasu warstwy modelu osi | Złożoność przestrzeni |
|---|---|---|
Wstawianie elementu do ArrayList | O(1) | NA) |
Usuwanie elementu z ArrayList | NA) | O(1) hashset Java |
Przechodzenie przez elementy w ArrayList | NA) | NA) rdbm |
Zastępowanie elementów w ArrayList | O(1) | O(1) |
Metody Java ArrayList
| Metoda | Opis |
|---|---|
| add(int indeks Element obiektu) | Ta metoda służy do wstawiania określonego elementu pod określonym indeksem pozycji na liście. |
| dodaj (obiekt o) | Ta metoda służy do dołączenia określonego elementu na końcu listy. |
| dodaj wszystko (kolekcja C) | Metoda ta służy do dołączenia wszystkich elementów określonej kolekcji na koniec wspomnianej listy w takiej kolejności, aby wartości były zwracane przez iterator określonej kolekcji. |
| addAll(int indeks Kolekcja C) | Służy do wstawiania wszystkich elementów z określonej kolekcji, zaczynając od określonej pozycji, na wspomnianą listę. |
| jasne() | Ta metoda służy do usuwania wszystkich elementów z dowolnej listy. |
| klon() | Ta metoda służy do zwracania płytkiej kopii tablicy ArrayList w Javie. |
| zawiera (obiekt o) | Zwraca wartość true, jeśli ta lista zawiera określony element. |
| zapewnij pojemność (int min pojemność) | W razie potrzeby zwiększa pojemność tej instancji ArrayList, aby upewnić się, że może ona pomieścić co najmniej liczbę elementów określoną przez argument minimalnej pojemności. |
| dla każdego (konsument super E>działanie) | Wykonuje daną akcję dla każdego elementu Iterable, dopóki wszystkie elementy nie zostaną przetworzone lub akcja nie zgłosi wyjątku. |
| pobierz (indeks int) | Zwraca element na określonej pozycji na tej liście. |
| indeksOf(Obiekt O) | Zwracany jest indeks pierwszego wystąpienia określonego elementu lub -1, jeśli elementu nie ma na liście. |
| jestPusty() | Zwraca wartość true, jeśli lista nie zawiera żadnych elementów. |
| lastIndexOf(obiekt O) | Zwracany jest indeks ostatniego wystąpienia określonego elementu lub -1 w przypadku, gdy elementu nie ma na liście. |
| listaIterator() | Zwraca iterator listy po elementach tej listy (w odpowiedniej kolejności). |
| listIterator(int indeks) | Zwraca iterator listy po elementach tej listy (w odpowiedniej kolejności), zaczynając od określonej pozycji na liście. |
| usuń(indeks int) | Usuwa element z określonej pozycji na tej liście. |
| usuń(obiekt o) | Usuwa pierwsze wystąpienie określonego elementu z tej listy, jeśli występuje. |
| usuń wszystko (kolekcja c) | Usuwa z tej listy wszystkie jej elementy zawarte w określonej kolekcji. |
| usuńIf(filtr predykatu) | Usuwa wszystkie elementy tej kolekcji, które spełniają podany predykat. |
| usuńRange(int zindeksu int doindeksu) | Usuwa z tej listy wszystkie elementy, których indeks znajduje się pomiędzy Indeksem włączającym a Indeksem wyłącznym. |
| zachowaj wszystko (kolekcja>C) | Zachowuje tylko elementy z tej listy, które znajdują się w określonej kolekcji. |
| set(int indeks elementu E) | Zastępuje element na określonej pozycji na tej liście określonym elementem. |
| rozmiar() | Zwraca liczbę elementów na tej liście. |
| rozdzielacz() | Tworzy późno wiążący i niezawodny Spliterator dla elementów na tej liście. |
| subList(int fromIndex int toIndex) | Zwraca widok części tej listy pomiędzy określonym fromIndex włącznie i toIndex wyłącznym. |
| do tablicy() | Ta metoda służy do zwrócenia tablicy zawierającej wszystkie elementy listy we właściwej kolejności. |
| toArray(Obiekt[] O) | Służy również do zwrócenia tablicy zawierającej wszystkie elementy na tej liście w odpowiedniej kolejności, takiej samej jak poprzednia metoda. |
| przytnij do rozmiaru() | Ta metoda służy do przycięcia pojemności instancji ArrayList do bieżącego rozmiaru listy. |