為什麼要用集合:
物件導向的語言對事物的具體體現都是以事物的形式。
為了方便對多個物件的操作,就要對物件進行儲存,另一方面,使用陣列儲存物件具有一些弊端,而集合就像是一種容器,可以動態的把多個物件的引用放入容器。
說到這裡,不得不說一下陣列的侷限性:
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();//在呼叫i.next()方法之前必須要呼叫 i.hasnext()方法進行判斷c2.add("1");
c2.add("12");
c2.add("123");
c2.add("1234");
iteratori = c2.iterator();
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 的效能很高,這是陣列的基本優勢。直接在陣列末尾加入...