Buraya sadece nasıl kullanılacağına dair bir örnek istemeye geldim SparseArray
. Bu, bunun için ek bir cevaptır.
Bir SparseArray Oluşturun
SparseArray<String> sparseArray = new SparseArray<>();
A SparseArray
, bazılarıyla tam sayı eşleştirir Object
, böylece String
yukarıdaki örnekte başka bir taneyle değiştirebilirsiniz Object
. Tam sayıları tam sayılarla eşliyorsanız şunu kullanın:SparseIntArray
.
Öğe ekle veya güncelle
Diziye eleman eklemek için put
(veya append
) tuşunu kullanın .
sparseArray.put(10, "horse");
sparseArray.put(3, "cow");
sparseArray.put(1, "camel");
sparseArray.put(99, "sheep");
sparseArray.put(30, "goat");
sparseArray.put(17, "pig");
int
Anahtarların sırayla olması gerekmediğini unutmayın . Bu, belirli bir int
anahtardaki değeri değiştirmek için de kullanılabilir .
Öğeleri kaldır
Dizideki öğeleri kaldırmak için remove
(veya delete
) tuşunu kullanın .
sparseArray.remove(17); // "pig" removed
int
Parametre tamsayı anahtarıdır.
İnt anahtarı için arama değerleri
get
Bazı tamsayı anahtarlarının değerini almak için kullanın .
String someAnimal = sparseArray.get(99); // "sheep"
String anotherAnimal = sparseArray.get(200); // null
Kullanabilirsiniz get(int key, E valueIfKeyNotFound)
null
Eksik anahtarları almaktan kaçınmak istiyorsanız .
Öğelerin üzerinde yineleme
Sen kullanabilirsiniz keyAt
ve valueAt
çünkü topluluk içinde döngü için bazı endeksi SparseArray
ayrı ayrı bir dizin tutar int
tuşları.
int size = sparseArray.size();
for (int i = 0; i < size; i++) {
int key = sparseArray.keyAt(i);
String value = sparseArray.valueAt(i);
Log.i("TAG", "key: " + key + " value: " + value);
}
// key: 1 value: camel
// key: 3 value: cow
// key: 10 value: horse
// key: 30 value: goat
// key: 99 value: sheep
Anahtarların, eklendikleri sırayla değil, artan değerde sıralandığını unutmayın.