天天看點

集合架構知識點整理

集合類的由來:

對象用于封裝特有的資料,對象多了就需要存儲,

如果對象的個數不确定,就使用集合來存儲

集合特點:

1,用于存儲對象的容器。

2,集合的長度是可變的。

3,集合中不可以存儲基本資料類型值。

集合架構知識點整理

集合容器因為内部的資料結構不同,有多種容器。

不斷向上抽取就形成了集合架構。

架構的頂層Collection接口:

Collection的常見方法:

1,添加

boolean add(Object obj):

boolean addAll(Collection coll)

2,删除

boolean remove(Object obj):

boolean removeall(Collection coll);

void clear();

3,判斷

boolean contains(object obj):

boolean containsAll(Collection coll);

boolean isEmpty():判斷集合是否為空

4,擷取

int size():擷取集合的長度

Iterator iterator():取出元素的方式:疊代器。

該對象必須依賴具體容器,因為每一個容器的資料結構都不同

是以該疊代器對象是在容器中進行内部實作的

對于使用容器者而言,具體的實作不重要,隻要通過容器擷取到該實作的疊代器的對象即可

也就是iterator方法

Iterator接口就是對所有的Collection容器進行元素取出的公共接口
           

5,其他:

boolean retainAll(Collection coll):取交集

Object[] toArray():将集合轉成數組

Collection

|–List:有序(存入和取出的順序一緻),元素都有索引(角标)。元素可以重複

|–Set:元素不能重複,無序。

**List特有的常見方法:**有一個共性特點就是都可用操作角标

1,添加

void add(index,element);

void add(index,collection);

2,删除

Object remove(index):

3,修改

Object set(index,element);

4,擷取

Object get(index);

int indexOf(object);

int lastIndexOf(object);

List subList(from,to);

list集合是可以完成對元素的增删改查的

List:

List接口中常用的對象:

|—Vector:内部是數組資料結構。是同步的(效率低,相對安全的)增删、查詢都很慢!

|—ArrayList:内部是數組資料結構,是不同步的。替代了vector。查詢的速度快(因為數組空間是連續的),增 删速度較慢(數組中所增删部分後面都要移動)。

|—LinkedList:内部連結清單資料結構,是不同步的。增删元素速度很快,查詢速度慢(空間不連續)

繼續閱讀