JAVA集合錦囊

2021-09-17 07:24:15 字數 1203 閱讀 2895

list和set的區別:

list和set都繼承collection介面;list中元素有序,可重複,set中元素無序,不可重複。list查詢效率高,由於插入刪除操作會引起其他元素位置改變,插入刪除效率低;

set查詢效率低,由於插入刪除操作不會引起其他元素位置改變,插入刪除效率高。

list和map區別:

list中儲存物件(單列資料),list中物件有序, 允許物件重複;map中儲存鍵值對(雙列資料),map中鍵值對無序,不允許key重複。

list、map、set三個介面,訪問元素時,各有什麼特點:

list與set繼承共同的父介面collection,都儲存單列元素。

vector  newvector  =  new  vector();

for(int i=0;i < oldvector.size();i++)

} 同乙個物件可以在vector中加入多次,往hashset中卻加不了多次。

簡單方式:hashset set = new hashset(oldvector);

10. 簡單談談對treemap的理解:

treemap是執行緒不安全的,它使用紅黑樹儲存元素,由於該樹總處於平衡狀態,故沒有調優選項。適用於按自然順序或自定義順序遍歷鍵(key)。

11. treeset裡面放物件,如果同時放入了父類和子類的例項物件,那比較時使用的是父類的compareto方法,還是使用的子類的compareto方法,還是拋異常?

當前的add方法放入的是哪個物件,就呼叫哪個物件的compareto方法,至於這個compareto方法怎麼做,就看當前這個物件的類中是如何編寫這個compareto方法的。

12. collection和collections的區別

collection是集合類的上級介面,繼承於它的介面主要有list,queue,set。

collections是針對集合類的乙個幫助類,它提供一系列靜態方法

實現對各種集合的搜尋、排序、執行緒安全化等操作。

13. collection框架中實現比較(對一組資料進行排序)需要實現什麼介面:

comparable/comparator介面

Java集合 Map集合

map map 用於儲存具有對映關係的資料,因此 map 集合裡儲存著兩組值,一組值用於儲存 map 裡的 key,另外一組用於儲存 map 裡的 value map 中的 key 和 value 都可以是任何引用型別的資料 map 中的 key 不允許重複,即同乙個 map 物件的任何兩個 key...

Java集合 ArrayList集合

以陣列實現。節約空間,但是陣列有容量限制。超出限制時會增加50 容量,用system.arraycopy 複製到新的陣列,因此最好能給出陣列大小的預估值。預設第一次插入元素時建立大小為10 的陣列。按照陣列下標來訪問元素 get i set i,e 的效能很高,這是陣列的基本優勢。直接在陣列末尾加入...

演算法小錦囊

lis 3,2,5,2 結果 from collections import counter print counter lis most common len lis 2,2 3,1 5,1 for x in lis dic x dic.get x,0 1print dic lis 3 2,5 2...