Sobes.tech
Junior

Jaké implementace kolekcí existují v Java pro Android?

sobes.tech AI

Odpověď od AI

V Androidu jsou k práci se sbírkami k dispozici standardní implementace z Java Collections Framework, stejně jako specializované třídy optimalizované pro mobilní zařízení s omezenými zdroji.

Hlavní implementace sbírek:

  • ArrayList — dynamické pole, vhodné pro rychlý přístup podle indexu.
  • LinkedList — obousměrně vázaný seznam, efektivní při častých vkladech a odstraňování.
  • HashMap — hash tabulka pro ukládání párů klíč-hodnota s rychlým přístupem.
  • SparseArray — specializovaná implementace pro ukládání párů s int klíčem a objektem, efektivnější z hlediska paměti než HashMap<Integer, Object>, zejména při malém počtu prvků.
  • SparseBooleanArray, SparseIntArray, SparseLongArray — analogy SparseArray pro primitivní typy, šetří paměť.

Použití SparseArray a jeho variant se doporučuje v Androidu, protože snižují zátěž na garbage collector a šetří paměť ve srovnání s běžnými HashMap, zejména při práci s primitivními klíči.

Příklad použití SparseArray:

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

Volba kolekce závisí na úkolu a požadavcích na výkon a paměť.