arraylist實現了randomaccess介面,是隨機訪問的,各個元素之間沒有關係。而foreach查詢是iterator的變形用法,所以arraylist用foreach查詢,就需要強制建立一些互相知曉的關係,所有用foreach遍歷arraylist比較耗時,用下標方式遍歷性能較高。
而linkedlist實現了雙向鍊錶,是有序訪問的,各個元素之間是有關聯的,因此用foreach效能較高,用下標方式遍歷性能反而很差(因為每一次get都相當於一次遍歷)。
comparable介面可以作為實現類的預設排序法,comparator介面則是乙個類的擴充套件排序工具
hashmap比arraylist多了乙個entry的底層物件封裝,多占用了記憶體,並且它的擴容策略是2倍速度的遞增,同時還會依據閾值判斷規則進行判斷,因此相對於arraylist來說,它就會先出現記憶體溢位。
所以,盡量讓hashmap中的元素少量並簡單
Java的陣列集合概括
1.1 arraylist 底層是陣列實現的,執行緒不安全,查詢和修改快,增刪比較慢 1.2 linkedlist 底層是鍊錶實現的,執行緒不安全,增刪比較快,查詢和修改計較慢 1.3 vector 底層是陣列實現的,執行緒是安全的,無論增刪改查都比較慢 結論 如果查詢和修改多,用 arraylis...
java 集合轉陣列
寫了乙個測試例子 如下 test public void enfor for string str abc collectionmoney new arraylist money.add rmb money.add doller money.add ker money.add jpy money.a...
java陣列與集合
陣列 同時儲存多個同型別的資料,陣列的長度是固定的 中括號都是針對陣列的 集合 儲存元素的容器,長度可變 arraylist 單列集合 hashmap集合 雙列集合,無序 存和取的順序不一致 集合 需要導包 鍵 值對,鍵具有唯一性,值可以重複 儲存引用型別的資料 int是資料型別 put 鍵 值 方...