java集合與陣列小結

2021-09-09 08:21:19 字數 1861 閱讀 8925

一、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決定的...