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ěť.