面試題之Java 集合

2021-09-11 22:49:48 字數 1465 閱讀 7613

方法:  ①:size():返回集合中的項數。

②:isempty:判斷集合中是否為空

③:contains(object):判斷集合中是否包含某項

④:clear:

⑤:add(e):從集合中新增某項

⑥:remove(object):從集合中刪除某項

⑦:iterator:遍歷集合

2.1.  ①:實現iterable介面的的類可以擁有增強for迴圈(也就是foreach)

②:實現iterable介面的集合類必須提供乙個名為  iterator() 的方法,該方法的返回值為iterator

2. 2.  方法:

③:remove():刪除由next() 最新返回的項(注:此後不能在呼叫remove,直到next再一次呼叫以後)

2.3 collection與 iterable的remove的區別:

①:效能:iterator的remove() 效能更高

②:容錯方面:iterator遍歷時不報錯,內部物件個數和原來保持一致。

list有順序,可重複。set集合反之。

arraylist查詢的時間快,所以查詢用arraylist,對資料庫的資料進行變動  (增刪改)  的用linkedlist

①.需要速度快的集合,使用hashset

②.需要集合有排序功能,使用treeset

③.需要按照插入的順序儲存集合,使用linkedhashset

特點:先進先出

①arrays.aslist(陣列)

②list轉陣列,使用list.toarray()

①.arraylist是array的複雜版本

②.儲存的資料型別:array只能儲存相同資料型別的資料,而arraylist可以儲存不同資料型別的資料

③.長度的可變:array的長度是固定的,而arraylist的長度是可變的

①.在map中插入、刪除和定位元素,hashmap是最好的選擇

②.需要集合有排序功能,使用treemap更好

③.需要按照插入的順序儲存集合,使用linkedhashmap

hashmap:①實現map介面,②儲存鍵值對,③新增元素用put,使用物件來計算hashcode,④使用鍵來獲取物件比hashset要快

hashset:①實現set介面,② 儲存物件  ③呼叫add()向set中新增元素  ④hashset使用成員物件計算hashcode ⑤hashset較hashmap來說比較慢

list:①:可重複     ②:可插入多個null    ③:先進先出

set:  ①:不可重複     ②:只允許null    ③:無序

map:①:鍵值對儲存,鍵必須唯一,但是值可以重複     ②:鍵只允許乙個null,值可允許多個    ③:無序

為了更好的理解,有一張思維導圖幫助理解其之間的關係:

java集合面試題

分享一下面試常會問到的 集合面試題 1,arraylist,linklist,vector 的區別 arraylist 的優點 查詢速度快 使用非同步方式 linklist 增刪改速度快 vector 查詢速度快 和arraylist類似 使用同步方式 擴容是arraylist的0.5倍使用場景 a...

Java集合的面試題

分兩大類,map和collection。而collection又有子介面list 資料儲存順序和插入順序是一樣的 set 裡面的元素具有唯一性 map是儲存鍵值對的,裡面的健不可以重複,但值可以重複 對於list主要有arraylist和linkedlist兩種實現。實現的資料結構不同,所以主要的區...

java集合面試題整理

可能會導致死迴圈和更新丟失問題。死迴圈的成因涉及到四個方法,最初的起因是呼叫put 方法,跟著方法走一遍 put 方法原始碼 只給出核心部分 public v put k key,v value modcount 該key不存在,需要增加乙個結點 addentry hash,key,value,i ...