Sobes.tech
Junior

Czym jest ArrayList?

sobes.tech AI

Odpowiedź od AI

ArrayList to dynamiczna tablica w Java, będąca częścią Frameworka Kolekcji. Implementuje interfejs List.

Główne cechy:

  • Zmieniający się rozmiar: Rozmiar ArrayList może się dynamicznie zwiększać lub zmniejszać w miarę dodawania lub usuwania elementów.
  • Dostęp po indeksie: Elementy są przechowywane w kolejności dodania i dostępne przez indeks całkowity, zaczynając od 0.
  • Pozwala null: Może zawierać elementy null.
  • Pozwala duplikaty: Może zawierać powtarzające się elementy.
  • Nie jest synchronizowany: Domyślnie nie jest bezpieczny dla wątków. Dla wersji bezpiecznej dla wątków można użyć Collections.synchronizedList(new ArrayList<...>()).
  • Wyszukiwanie: Efektywny dla operacji wyszukiwania elementu po indeksie (O(1)).
  • Wstawianie/usuwanie: Operacje wstawiania i usuwania mogą być wolne (O(n)), szczególnie na początku lub w środku listy, ponieważ może być konieczne przesunięcie wszystkich kolejnych elementów.

Przykład tworzenia:

// Przykład tworzenia ArrayList łańcuchów
ArrayList<String> imiona = new ArrayList<>();

Główne metody:

Metoda Opis
add(E e) Dodaje element na koniec listy
add(int index, E element) Wstawia element na wskazany indeks
get(int index) Zwraca element z wskazanego indeksu
remove(int index) Usuwa element z wskazanego indeksu
size() Zwraca liczbę elementów
isEmpty() Sprawdza, czy lista jest pusta
contains(Object o) Sprawdza, czy element jest obecny
clear() Usuwa wszystkie elementy