2015-11-26

SparseArray

Keluarga SpareArray: SparseArray (int), LongSparseArray merupakan HashMap dengan key-nya native: int, long. Kelebihan sparsearray dibandingkan dengan HashMap adalah tidak adanya prosess boxing-unboxing dari dan ke native variable

misal:

HashMap<int,String> map1 = new HashMap<int,String>()
map1.put(1,"satu");
String value = map1.get(1);

yang sebenarnyanya terjadi adalah sebagai berikut:
map1.put(new Integer(1),"satu");
String value = map1.get(new Integer(1));

nah disana ada proses boxing/unboxing dari int ke Integer, nah dengan menggunakan SpareArray prosess boxing/unboxing itu tidak ada karena key-nya sudah tersimpan dalan native variable

SparseArray<String> map2 = SparseArray<String>();
map2.put(1,"satu");
String value = map2.get(1);

Perlu diketahui proses pembuatan class itu prosses yang berat karena disana bisa memanggil System.gc()

Disamping itu ada beberapa feature tambahan dari sparsearray:
1. keyAt(int index), mendapatkan key pada index tertentu
2. valueAt(int index), mendapatkan value pada index tertentu
3. indexOfKey(int key), index dari key
4. indexOfValue(E value), index dari value



No comments: