一。。從構造方法我們可以看出,它和一般的List一樣,可以預先設置容器大小,默認的大小是10
public SparseArray() {
this(10);
}
public SparseArray(int initialCapacity) {
}
二。。它有兩個方法可以添加鍵值對
public void put(int key, E value)
public void append(int key, E value)
在存儲數據的時候,是採用了二分法方式 所以,它存儲的數值都是按鍵值從小到大的順序排列好的
三。。它有兩個方法可以取值
public E get(int key)
public E get(int key, E valueIfKeyNotFound) 最後一個從傳參的變量名就能看出,傳入的是找不到的時候返回的值
查看第幾個位置的鍵:public int keyAt(int index)
查看第幾個位置的值:public E valueAt(int index)
1)查看鍵所在位置,由於採用二分法查找鍵的位置,所以沒有的話返回小於0的數值,而不是返回-1。。返回的負數其實是表示它在哪個位置就找不到了,如果你存了5個,查找的鍵大於5個值的話,返回就是-6:
2)查看值所在位置,沒有的話返回-1
四。。刪 它有四個方法
public void delete(int key)
public void remove(int key)
但其實delete和remove的效果是一樣的,remove方法中調用了delete方法,remove源碼
public void removeAt(int index)
public void clear() 清除全部
五、改。
public void setValueAt(int index, E value)
public void put(int key, E value)
put方法還可以修改鍵值對,注意:如果鍵不存在,就會變爲添加新鍵值對
六、其他:
SparseArray實現了Cloneable接口,還可以調用clone方法。