java集合的初步理解 集合

2021-09-11 14:48:12 字數 1774 閱讀 1105

為什麼要用集合:

物件導向的語言對事物的具體體現都是以事物的形式。

為了方便對多個物件的操作,就要對物件進行儲存,另一方面,使用陣列儲存物件具有一些弊端,而集合就像是一種容器,可以動態的把多個物件的引用放入容器。

說到這裡,不得不說一下陣列的侷限性:

1.陣列只能通過下標操作儲存的元素

2.陣列的記憶體空間是連續分布的,而集合的記憶體空間不一定連續分布

3.陣列的長度是固定的,長度的改變會產生新的陣列,集合的長度是動態可變的,改變長度不會產生新的集合。

4.陣列能儲存引用資料和基本資料,集合只能存引用資料,集合更適合引用資料的具體操作

5.陣列只能存一種型別的資料,而集合可以新增多種型別的資料

用於儲存數量不等的多個物件,還可以儲存具有對映關係的關聯陣列

單列集合collection介面和雙列集合map介面

1. collection介面:分為set介面和list介面

2. map介面:具有對映關係的 key------value 對的集合

1.collection 介面是list、set 和queue 介面的父介面,該介面裡定義的方法既可用於操作set 集合,也可用於操作list 和queue 集合。

2.jdk不提供此介面的任何直接實現,而是提供更具體的子介面實現。

3.collection集合的遍歷

//遍歷collection集合建立迭代器物件 集合.iterator();

collectionc2 =newarraylist();

c2.add("1");

c2.add("12");

c2.add("123");

c2.add("1234");

iteratori = c2.iterator();

//在呼叫i.next()方法之前必須要呼叫 i.hasnext()方法進行判斷

while(i.hasnext()) ;

//陣列的工具類arrays

list<int> arrlist = arrays.aslist(arr);

for(inti = 0; i < arrlist.size(); i++)else

publictesttreeset_test(intx,inty)else{

return-1;

return0;

@override

publicstring tostring() {

return"x="+x+" y="+y;

Java集合理解

如果涉及到堆疊 佇列等操作,應該考慮用list 對於需要快速插入,刪除元素,應該使用linkedlist 如果需要快速隨機訪問元素,應該使用arraylist。如果程式在單執行緒環境中,或者訪問僅僅在乙個執行緒中進行,考慮非同步的類,其效率較高,如果多個執行緒可能同時操作乙個類,應該使用同步的類。要...

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 的效能很高,這是陣列的基本優勢。直接在陣列末尾加入...