今天要介紹的SparseArray則是Android打造的優化Array類
存在於 android.util.SparseArray
那什麼情況下需要使用它呢?
SparseArray直接翻譯的話是稀疏陣列(sparse array)
假設我們有一個以下的Array
Example:
0 1 0 0 0
0 0 0 3 0
0 0 0 0 0
0 2 4 0 0
上面的例子來看
我們有一個4*5的空間卻只存了4筆資料
大大的浪費了許多的資源
這時候就可以用我們的SparseArray了
SparseArray會用另一種方式來記綠資料
能夠更省資源
SparseArray的記錄方式如下
4 5 4 第一部份
---------------------------------
0 1 1 第二部份
1 3 3
3 1 2
3 2 4
SparseArray的記錄分兩部份
第一部份記錄了 『總行數、總列數、使用個數』
第二部份則記錄了『值行數、值列數、值』
這麼一來,本來4*5=20的內容
就被縮減為5*3=15了
而SparseArray的新增、修改、刪除、查詢的方法
使用上也很簡單易懂
總得來說
SparseArray是Android專為Hashmap<Integer,Object>所設計的
當我們需要使用到這樣的Hashmap時
記得還有一個優化的SparseArray等著我們使用喔
參考資料:
https://developer.android.com/reference/android/util/SparseArray.html
https://liuzhichao.com/p/832.html
留言列表