黑馬程式設計師 集合框架的使用

2021-06-26 19:21:12 字數 1699 閱讀 7587



集合類的由來:

物件用於封裝特有資料,物件多了需要儲存,如果物件個數不確定。就使用集合容器進行儲存。

集合的特點:

用於儲存物件的容器。

集合的長度是可變的。

集合中不可以儲存基本資料型別值。

集合容器因為內部的資料結構不同,有多種具體容器。不斷的向上抽取,就形成了集合框架。框架的頂層是

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.集合類 為什麼會出現集合類?面對物件語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,就對物件進行儲存,集合就是儲存物件最常用的一種方式。集合類的特點 集合只用於儲存物件,集合的長度是可變的,集合可以儲存不同型別的物件。集合...