方法: ①: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 ...