Sobes.tech
Junior

Czym jest ArrayList?

sobes.tech AI

Odpowiedź od AI

ArrayList — to dynamiczna tablica w Javie, zaimplementowana na podstawie zwykłej tablicy.

Główne cechy:

  • Dynamiczny rozmiar: może rosnąć lub maleć w miarę dodawania/usuwania elementów.
  • Dostęp indeksowany: elementy dostępne po ich indeksie (zaczynając od 0).
  • Kolejność elementów: zachowuje kolejność dodawania elementów.
  • Nie jest bezpieczny dla wielu wątków: nie jest synchronizowany, dla scenariuszy wielowątkowych używa się Vector lub Collections.synchronizedList.
  • Wydajność:
    • Dodawanie/usuwanie na końcu O(1) średnio (czas amortyzowany).
    • Dodawanie/usuwanie w środku O(n) (wymaga przesunięcia elementów).
    • Dostęp po indeksie O(1).
    • Szukanie elementu O(n).

Przykład użycia:

import java.util.ArrayList;

// Tworzenie ArrayList
ArrayList<String> imiona = new ArrayList<>();

// Dodawanie elementów
imiona.add("Alice");
imiona.add("Bob");
imiona.add("Charlie");

// Dostęp do elementu po indeksie
String pierwszyElement = imiona.get(0); // "Alice"

// Rozmiar ArrayList
int rozmiar = imiona.size(); // 3

// Usuwanie elementu
imiona.remove("Bob"); // Usuwa pierwsze wystąpienie "Boba"
imiona.remove(0); // Usuwa element na indeksie 0 (teraz "Charlie")

// Iteracja po elementach
for (String imie : imiona) {
    System.out.println(imie);
}