高洛峰2017-04-18 10:43:08
不建議使用偶數存鍵,奇數存值的ArrayList方式,這個與我們寫程式碼的一般邏輯相悖,對後來維護者也會造成很大的困擾。而且,現在手機效能都是很不錯的,你的使用場景中,無需考慮效能的問題。
大家讲道理2017-04-18 10:43:08
對於你所說的資料量小於10的情況下,ArrayList
ArrayList是有序集合,其底層其實就是一個數組,如果是遍歷的話和存儲相對於HashMap還是要快些,但其增加、刪除會比較慢,特別是從列表中間增加、刪除(扯遠了)
而HashMap是一個無序哈希表,他的查詢順序是跟資料量直接關聯的,簡單點說就是資料量越大,查詢越慢!
總結:
小數據:兩者皆可使用。
大數據:查詢頻繁使用ArrayList,增刪、改頻繁,使用HashMap。
超大數據:使用ArrayList;
PHPz2017-04-18 10:43:08
雖然不知道你為什麼要比較List
高洛峰2017-04-18 10:43:08
樓上對效能已經解釋的很清楚了,
如果儲存的資料小於10個的話,可以直接在聲明時指定最大值10,這樣可以節省記憶體空間,
List<String> list = new ArrayList<>(10);
Map<String, String> map = new HashMap<>(10);