亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

何時使用ArrayMap、SparseArray代替HashMap?

何時使用ArrayMap、SparseArray代替HashMap?

正在回答

1 回答

hashMap默認容量16,裝載因子0.75,超過裝載因子容量自動翻倍,這個過程要重組數組結構,比較費時和費內存。所以如果動態加載大量數據時要注意。但查找數據正常時快于以下兩個,因為hash是直接定位,而下面兩個是二分法查找。

所以,如果是裝載靜態字典,繼續用HashMap。

滿足下面兩個條件我們可以使用SparseArray代替HashMap:

數據量不大,最好在千級以內

key必須為int類型,這中情況下的HashMap可以用SparseArray代替:

SparseArray和ArrayMap都差不多,使用哪個呢??

假設數據量都在千級以內的情況下:

1、如果key的類型已經確定為int類型,那么使用SparseArray,因為它避免了自動裝箱的過程,如果key為long類型,它還提供了一個LongSparseArray來確保key為long類型時的使用

2、如果key類型為其它的類型,則使用ArrayMap

詳見:

http://blog.csdn.net/u010687392/article/details/47809295

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

何時使用ArrayMap、SparseArray代替HashMap?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號