集合類的由來:
對象用于封裝特有數據,對象多了需要存儲,如果對象的個數不確定。
就使用集合容器進行存儲。
集合特點:
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 接口就是對所有的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:內存是數組數據結構,是同步的。增刪、查詢都很慢。(數組自動延長100%)
|--ArrayList:內部是數組數據結構,是不同步的。替代了Vector。查詢的速度快。(數組自動延長50%)
|--LinkedList:內部是鏈表數據結構,是不同步的。增刪元素的速度很快。