Junior
Milyen gyűjtemény-implementációk léteznek Java-ban Androidhoz?
sobes.tech MI
Válasz az MI-től
Androidban a kollekciókkal való munkához elérhetők a Java Collections Framework szabványos megvalósításai, valamint speciális osztályok, amelyek optimalizáltak mobil eszközök korlátozott erőforrásaihoz.
A fő kollekció megvalósítások:
- ArrayList — dinamikus tömb, jó gyors hozzáférés index alapján.
- LinkedList — kétszeresen láncolt lista, hatékony gyakori beszúrások és törlések esetén.
- HashMap — gyors hozzáférést biztosító hash-tábla kulcs-érték párok tárolására.
- SparseArray — speciális megvalósítás int kulcs-objekt párok tárolására, memóriahatékonyabb, mint a HashMap<Integer, Object>, különösen kevés elem esetén.
- SparseBooleanArray, SparseIntArray, SparseLongArray — a SparseArray analógjai primitív típusokhoz, memória takarékosabbak.
A SparseArray és változatai használata ajánlott Androidban, mivel csökkentik a szemétgyűjtő terhelését és memória takarékosabbak, mint a normál HashMap, különösen primitív kulcsok esetén.
Példa a SparseArray használatára:
SparseArray<String> sparseArray = new SparseArray<>();
sparseArray.put(1, "One");
sparseArray.put(2, "Two");
String value = sparseArray.get(1); // "One"
Így a kollekció kiválasztása a feladattól és a teljesítmény- és memóriaigényektől függ.