面試系列:常見的容器list和map簡單介紹
阿新 • • 發佈:2018-11-29
Android 列表資料結構一般常用兩種ArrayList和LinkedList
兩種列表結構主要是根據不同的需求選用。
- ArrayList的底層是陣列結構,多用於查詢。這應該也是我們最長使用的資料結構了,因為android中的列表展示資料過於多,配合ListView和RecyclerView使用。
- LinkedList的底層是連結串列結構,多用於資料操作,插入和刪除,這個目前使用頻率比較低,如過不確定必須要用這個的話,建議使用ArrayList一般不會有問題。
常用的map為HashMap和HashTable
兩種列表結構主要是根據不同的需求選用。
HashMap的HashMap元素是可以為null的。HashMap底層就是一個Entry陣列,Entry包含鍵和值,這裡我們也常用這個,比如我們專案中存放的購物車商品就是通過一個全域性的靜態HashMap來進行儲存。
注意事項
在使用HashMap的時候會有可能產生雜湊衝突,HashMap的底層結構是一個雜湊值對應一個Entry物件,當產生一個hash值對應多個Entry值,雜湊值就對應的一個單向連結串列的Entry,這個時候呼叫get方法取值的時候,會去查詢連結串列
HashTable的元素是不能為空的,並且執行緒是安全的。