標籤:retain 增刪改查 擷取 迭代器 交集 rom 替代 方式 lis
集合類的由來:
對象用於封裝特有資料,對象多了需要儲存,如果對象的個數不確定。
就使用集合容器進行儲存。
集合特點:
1,用於儲存物件的容器。
2,集合的長度是可變的。
3,集合中不可以儲存基礎資料型別 (Elementary Data Type)值。
集合容器因為內部的資料結構不同,有多種具體容器。
不斷的向上抽取,就形成了集合架構。
架構的頂層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(Colllection 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:
|--Vector:內部是數組資料結構,是同步的。增刪,查詢都很慢!
|--ArrayList:內部是數組資料結構,是不同步的。替代了Vector。查詢的速度快。
|--LinkedList:內部是鏈表資料結構,是不同步的。增刪元素的速度很快。
java集合——進度1