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 Stringyukarı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");
intAnahtarların sırayla olması gerekmediğini unutmayın . Bu, belirli bir intanahtardaki 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
intParametre tamsayı anahtarıdır.
İnt anahtarı için arama değerleri
getBazı 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)nullEksik anahtarları almaktan kaçınmak istiyorsanız .
Öğelerin üzerinde yineleme
Sen kullanabilirsiniz keyAtve valueAtçünkü topluluk içinde döngü için bazı endeksi SparseArrayayrı ayrı bir dizin tutar inttuş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.