一、定義:用來存放不同型別的物件,長度是可以變的
connection有兩個子類:list,set
list(允許元素重複),set(不允許元素 重複)
list的子類:arraylist,linkedlist,vector
set的子類:hashset,treeset
為什麼會出現這麼多容器呢?
因為每乙個容器對資料的儲存方式不同,這個儲存方式叫:資料結構。
arraylist集合:
建立集合:
arraylist al=newarraylist();
二、集合中的常用方法:
add();新增元素
add方法引數型別都是object 便於接收任何型別物件,並且集合中儲存的都是引用位址。
size();獲取長度
remove();刪除
clear();清空集合
contains(obj);判斷集合是否存在引數中的元素
isempty();判斷是否為空
retainall(list);獲取這兩個集合的交集
removeall(list);把兩個集合的交集去掉
三、元素的迭代輸出iterator
iteratorit=al.iterator();建立乙個迭代器it
當集合中有元素的時候,取出集合中的元素
while(it.hasnext())這種寫法迭代輸出,迴圈完之後記憶體釋放了,而while迴圈之後it的物件還在記憶體,所以,對於記憶體優化來說,寫for迴圈比較好
四、list集合特有的迭代器listiterator,它是iterator的子介面
在迭代時,不可以通過集合物件的方法操作集合的元素,所以在迭代時,只能用迭代器的方法操作元素。
listiteratorli=al.listiterator();這個迭代器增刪改查都有,所以這個類出現以後就可以在遍歷過程中進行增刪改查了
五、vector 的迭代器enumeration
enumeration和iteratro的用法類似用while迴圈迭代集合內容。列舉和迭代一樣的,只不過列舉的方法名字太長了
六、linkedlist特有方法
addfirst()把元素新增到第乙個
addlast();把元素新增到最後乙個
getfirst();得到第乙個元素
getlast();得到最後乙個元素
removefirst()移除第乙個
removelast();移除最後乙個
pollfirst()方法可以代替removefirst()方法,如果集合沒有元素,可以返回null值
peekfirst代替getfirst,如果集合沒有元素,可以返回null值
offerfirst代替addfirst,
而add,get,remove,沒有元素會拋異常
黑馬程式設計師 集合
collection list 元素是有序的,元素可以重複。因為該集合體系有索引。arraylist 底層的資料結構使用的是陣列結構。特點 查詢速度很快。但是增刪稍慢。執行緒不同步。linkedlist 底層使用的鍊錶資料結構。特點 增刪速度很快,查詢稍慢。執行緒不同步。vector 底層是陣列資料...
黑馬程式設計師 集合
asp.net unity開發 net培訓 期待與您交流!1.集合類 為什麼會出現集合類?面對物件語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,就對物件進行儲存,集合就是儲存物件最常用的一種方式。集合類的特點 集合只用於儲存物件,集合的長度是可變的,集合可以儲存不同型別的物件。集合...
黑馬程式設計師 集合
集合 string類 字串是乙個特殊的物件。字串一旦初始化就不可以被改變。string str abc string str1 new string abc 基本資料型別物件包裝類 將基本資料型別封裝成物件的好處在於可以在 物件中定義更多的功能方法操作該資料。常用的操作之一 用於基本資料型別與字串 ...