一、arraylist和linkedlist的區別
arraylist(陣列結構)
linkedlist (鍊錶結構)
優點查詢速度快
新增和刪除的速度快
缺點新增和刪除的速度慢
查詢速度慢(不適合查詢操作)
二、陣列array和集合arraylist的區別:
陣列(array)
集合 (arraylist)
儲存資料型別
相同(基本型別/引用型別)
不同長度
固定可變
三、 collection介面的remove()方法和iterator介面的remove()方法區別
1、collection的remove方法必須首先找要刪除的項,找到該項的位置採用的是單鏈表結構查詢,單鏈 表查詢效率比較低,需要從集合中乙個乙個遍歷才能找到該物件;
2、iterator的remove方法結合next()方法使用,比如集合中每隔一項刪除一項,iterator的remove()效率更高;
四 、陣列與集合的相互轉換
1、陣列轉集合,可以使用toarray方法,例如
2、集合轉陣列,可以使用toarray方法,例如
五、hashset、treeset、linkedhashset區別?
hashset
treeset
linkedhashset速度快
慢慢排序功能無有
無插入順序儲存集合無無
有六、hashmap、treemap、linkedhashmap區別?
hashmap
treemap
linkedhashmap
插入,刪除,查詢最好慢
慢排序功能無有
無插入順序儲存集合無無
有七、hashmap和hashset區別?
hashmap
hashset
實現map介面
實現set介面
儲存鍵值對
儲存物件
呼叫put()新增元素
呼叫add()新增元素
hashmap使用key計算hashcode
hashset使用成員物件計算hashcode
hashmap使用key獲取值查詢快於hashset
慢於hashmap
八、 hashmap的實現原理?
通過put和get儲存和獲取物件,儲存物件時,我們將k/v傳給put方法時,它呼叫hashcode計算hash從而得到bucket位置,進一步儲存,hashmap會根據當前bucket的占用情況自動調整容量。獲取物件時,我們將k傳遞給get,他呼叫hashcode計算hash從而得到bucket位置,並進一步呼叫equals()方法確認鍵值對。
九、 list、set、map之間的區別?
list
setmap
允許重複的元素
不允許重複的元素
鍵值對儲存,鍵必須唯一,只可以重複
可以插入多個null
只允許乙個null
鍵只允許乙個null,值可以有多個null
有序容器,插入順序和輸出順序一致
無序容器
無序容器
java陣列與集合
陣列 同時儲存多個同型別的資料,陣列的長度是固定的 中括號都是針對陣列的 集合 儲存元素的容器,長度可變 arraylist 單列集合 hashmap集合 雙列集合,無序 存和取的順序不一致 集合 需要導包 鍵 值對,鍵具有唯一性,值可以重複 儲存引用型別的資料 int是資料型別 put 鍵 值 方...
JAVA集合小結
有序集合 集合裡元素可以根據key和index進行訪問 無序集合 集合裡面的元素只能遍歷 有序集合在屬性的增加,刪除和修改擁有較好的效能表現。無序集 set 有序集 list map 所以,凡是實現set的abstractset,copyonwritearrayset,enumset,hashset...
Java集合小結
list與set map區別及適用場景 1 list,set都是繼承自collection介面,map則不是 2 list特點 元素有放入順序,元素可重複 set特點 元素無放入順序,元素不可重複,重複元素會覆蓋掉,注意 元素雖然無放入順序,但是元素在set中的位置是有該元素的hashcode決定的...