集合框架總結

2021-08-03 17:02:30 字數 675 閱讀 4066

list (儲存有序,有索引,可以重複)

arraylist

底層是陣列實現的,執行緒不安全,查詢和修改快,增和刪較慢

linkedlist

底層是鍊錶實現的,現成不安全,增和刪較快,查詢和修改較慢

vector

底層是陣列實現的,現成安全,增刪改查都較慢

如何查詢和修改多,用arraylist

如果增刪多,用linkedlist

如果都多,用arraylist

set (儲存無序,無索引,不可以重複)

hashset

底層是hash演算法實現的

linkedhashset

底層是鍊錶實現的,但是也可以保證元素唯一,和hashset原理一樣

treeset

底層是二叉樹演算法實現的

一般開發時,不需要對儲存的元素排序,所以大多數時候用hashset,因為效率較高

treeset面試時常用,會問有幾種演算法,和幾種排序方式的區別

hashmap

底層是雜湊演算法,針對key

linkedhashmap

底層是雜湊演算法,針對key

treemap

底層是二叉樹演算法,也是針對key

開發中用hashmap較多

集合框架總結

問題1 集合和陣列的區別?collection主要有三個子介面 set 表示不允許有重複元素的集合,且無序 list 表示允許有重複元素的集合,且有序 queue 佇列,先進先出,jdk1.5新增,queue主要用於儲存資料,而不是處理資料 stack 繼承自vector,實現乙個後進先出的堆疊。特...

集合框架總結

陣列 之前使用陣列儲存資料 陣列只能存同意型別的資料 陣列長度一旦確定不能改變 陣列物件中基本沒有可用呼叫的方法來運算元組 陣列型別是使用 已有的型別 組合而成 集合 現在使用集合儲存資料 集合中能儲存任意型別的物件 集合的長度可以自動增長 集合物件本身有很多方法可以呼叫,來操作集合中的資料 集合是...

集合框架學習總結

集合實際用來儲存物件 object 但需要注意的是,集合存放的實質上是物件的位址。接下來我們先來看一下集合框架圖,如下 同一顏色方框,我將它們視為同一級 首先由上圖確認一下它們的關係 collection 介面 set 介面 儲存元素特點 元素無序,元素不可以重複,與list集合體系本質區別就是無索...