Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android優化之ArrayMap

Android優化之ArrayMap

編輯:關於Android編程

ArrayMap的介紹

官方對ArrayMap也有說明:它不是一個適應大數據的數據結構,相比傳統的HashMap速度要慢,因為查找方法是二分法,並且當你刪除或者添加數據時,會對空間重新調整,在使用大量數據時,效率並不明顯,低於50%。

ArrayMap是犧牲時間換空間

ArrayMap和HashMap的區別

1.存儲方式不同

HashMap內部有一個HashMapEntry

arraymap

他用兩個數組來模擬Map,第一個數組存放存放item的hash值,第二數組是把key,value連續的存放在數組裡,通過先算hash在第一個數組裡找到它的hash index,根據這個index在去第二個數組裡找到這個key-value。

在這裡,在第一個數組裡查找hash index的方法當然是用二分查找啦(binary search)。

如下圖

 

這裡寫圖片描述

 

2.添加數據時擴容時的處理不一樣

hashmap會重新的創建對象,arrayMap是進行copy操作。

3、ArrayMap提供了數組收縮的功能,在clear或remove後,會重新收縮數組,節省空間

4、ArrayMap采用二分法查找

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved