Junior
Kokios kolekcijų realizacijos yra Java Android?
sobes.tech AI
Atsakymas iš AI
Android'e yra prieinamos standartinės Java Collections Framework įgyvendinimai, taip pat specializuotos klasės, optimizuotos mobiliesiems įrenginiams su ribotais ištekliais.
Pagrindiniai kolekcijų įgyvendinimai:
- ArrayList — dinaminis masyvas, gerai tinka greitam prieigai pagal indeksą.
- LinkedList — dvigubai susietas sąrašas, efektyvus dažnoms įterpimo ir šalinimo operacijoms.
- HashMap — maišos lentelė, skirta saugoti poras raktas-reikšmė su greita prieiga.
- SparseArray — specializuotas įgyvendinimas, skirtas saugoti poras su int raktu ir objektu, taupiau atmintį nei HashMap<Integer, Object>, ypač turint mažai elementų.
- SparseBooleanArray, SparseIntArray, SparseLongArray — analogai SparseArray, skirti primityviems tipams, taupo atmintį.
Rekomenduojama naudoti SparseArray ir jo variantus Android'e, nes jie sumažina atlaisvintuvo apkrovą ir taupo atmintį, ypač dirbant su primityviais raktai.
Pavyzdys naudojant SparseArray:
SparseArray<String> sparseArray = new SparseArray<>();
sparseArray.put(1, "One");
sparseArray.put(2, "Two");
String value = sparseArray.get(1); // "One"
Taigi, kolekcijos pasirinkimas priklauso nuo užduoties ir našumo bei atminties reikalavimų.