集合類的由來:
物件用於封裝特有資料,物件多了需要儲存,如果物件個數不確定。就使用集合容器進行儲存。
集合的特點:
用於儲存物件的容器。
集合的長度是可變的。
集合中不可以儲存基本資料型別值。
集合容器因為內部的資料結構不同,有多種具體容器。不斷的向上抽取,就形成了集合框架。框架的頂層是
collection
介面。
collection
的常見方法:
新增。 boolean add (e e);
booleanadd(collection coll);
刪除。boolean remove(e e);
boolean remove(collection coll);
void clear();
判斷。boolean contains(e e);
boolean containsall(collection coll);
boolean isempty();
獲取。int size();
iterator iterator();
取出元素的方式:迭代器。
該物件必須依賴於具體容器,因為每乙個容器的資料結構都不同。所以該迭代器物件是在容器中進行內部實現的。對於使用容器者而言,具體的實現不重要,只要通過容器獲取到該實現的迭代器的物件即可,也就是
iterator
方法。
iterator
介面就是對所有的
collection
容器進行元素取出的公共介面。
其它:boolean retainall(collection coll);
取交集。
object toarray();
將集合轉成陣列。
list
介面和set
介面 list
特點:有序(存入和取出的順序一致),元素都有索引(角標),元素可以重複。
set特點:元素不能重複,無序。
list
特有常見方法:有乙個共性特點就是都可以操作角標。
新增 void add(index,element);
void add(index,collection); 刪除
object remove(index); 修改
object set (index,element); 獲取
object get(index);
int indexof(object);
int lastindexof(object);
list sublist(form,to);
在迭代器過程中,不要使用集合操作元素,容易出現異常。可以使用
iterator
介面的子介面
listiterator
來完成在迭代中對元素進行更多的操作。
listiterator
可以實現在迭代過程中完成對元素的增刪改查。注意:只有
list
集合具備該迭代功能。
list
介面常用子類:
vector
:內部是陣列的資料結構,是同步的。增刪,查詢都很慢。
arraylist
:內部是陣列的資料結構,是不同步的。查詢的速度快。
linkedlist
:內部是鍊錶資料結構,是不同步的。增刪元素的速度非常快。
黑馬程式設計師 集合框架
集合框架 用於儲存的容器 特點 集合用於儲存物件,集合的長度是可變的 集合和陣列的區別 陣列長度不可變,集合的長度是可變的 陣列可以儲存基本資料型別,集合儲存的是物件 陣列只能儲存相同的資料型別,集合可以儲存不同的資料型別 集合再不斷的向上抽取,就形成了集合體系 集合體系頂層是collection介...
黑馬程式設計師 集合
collection list 元素是有序的,元素可以重複。因為該集合體系有索引。arraylist 底層的資料結構使用的是陣列結構。特點 查詢速度很快。但是增刪稍慢。執行緒不同步。linkedlist 底層使用的鍊錶資料結構。特點 增刪速度很快,查詢稍慢。執行緒不同步。vector 底層是陣列資料...
黑馬程式設計師 集合
asp.net unity開發 net培訓 期待與您交流!1.集合類 為什麼會出現集合類?面對物件語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,就對物件進行儲存,集合就是儲存物件最常用的一種方式。集合類的特點 集合只用於儲存物件,集合的長度是可變的,集合可以儲存不同型別的物件。集合...