Sobes.tech
Junior

Jakie są implementacje kolekcji w Java dla Androida?

sobes.tech AI

Odpowiedź od AI

W Androidzie do pracy z kolekcjami dostępne są standardowe implementacje z Java Collections Framework, a także specjalistyczne klasy zoptymalizowane pod kątem urządzeń mobilnych z ograniczonymi zasobami.

Główne implementacje kolekcji:

  • ArrayList — dynamiczna tablica, dobra do szybkiego dostępu po indeksie.
  • LinkedList — lista dwukierunkowa, wydajna przy częstych wstawieniach i usunięciach.
  • HashMap — tablica mieszająca do przechowywania par klucz-wartość z szybkim dostępem.
  • SparseArray — specjalistyczna implementacja do przechowywania par klucz int i obiekt, bardziej efektywna pod względem pamięci niż HashMap<Integer, Object>, szczególnie przy małej liczbie elementów.
  • SparseBooleanArray, SparseIntArray, SparseLongArray — odpowiedniki SparseArray dla typów prymitywnych, oszczędzają pamięć.

Zaleca się korzystanie z SparseArray i jego wariantów w Androidzie, ponieważ zmniejszają obciążenie zbieracza śmieci i oszczędzają pamięć w porównaniu do zwykłych HashMap, szczególnie przy pracy z kluczami prymitywnymi.

Przykład użycia SparseArray:

SparseArray<String> sparseArray = new SparseArray<>();
sparseArray.put(1, "One");
sparseArray.put(2, "Two");
String value = sparseArray.get(1); // "One"

W związku z tym wybór kolekcji zależy od zadania i wymagań dotyczących wydajności i pamięci.