Java基礎——集合(持續更新中)
集合框架
Java.util.Collection
Collection介面中的共性功能
1,新增
booblean add(Object obj); 往該集合中新增元素,一次新增一個
boolean addAll(Collection c); 將指定 collection 中的所有元素都新增到此 collection 中
2,刪除
void clear(); 移除此 collection 中的所有元素
boolean remove(Object o); 從此 collection 中移除指定元素的單個例項,如果存在的話
boolean removeAll(Collection e); 移除此 collection 中那些也包含在指定 collection 中的所有元素
3,獲取
int size(); 返回此 collection 中的元素數。
4,判斷
boolean isEmpty();
boolean contains(Object o); 如果此 collection 包含指定的元素,則返回 true 。
boolean containsAll(Collection c); 如果此 collection 包含指定 collection 中的所有元素,則返回 true 。
5,將集合轉成陣列
toArray(); 返回包含此 collection 中所有元素的陣列。
toArray(T[ ] a); 返回包含此 collection 中所有元素的陣列;返回陣列的執行時型別與指定陣列的執行時型別相同。
6,取出集合元素
Iterator iterator(); 獲取集合中元素上迭代功能的迭代器物件;
返回在此 collection 的元素上進行迭代的迭代器。
迭代:取出元素的一種方式;
迭代器:具備著迭代功能的物件;
而迭代器物件不需要new,直接通過iterator()方法獲取即可,迭代器是取出Collection集合中元素的公共方法.
Collection
|--List:有序(存入的順序和取出的順序一致)有索引,允許重複元素
|--Set:不允許重複元素
重點List介面中的特有方法:它的特有方法都是圍繞索引定義的.List支援增刪改查;
1.增
add(index,element);
2,刪
remove(index);
3,改
set(index,new element);
4,查
int indexOf(element);
element get(index);
List集合的具體子類;子類之所以區分是因為內部的資料介面(儲存資料的方式)不同。
JDK1.0 |--Vector:資料結構是陣列;陣列是可變長度的(不斷new新陣列並將原陣列元素複製到新陣列),執行緒是同步的,增刪和查詢都比較慢。
JDK1.2 |--ArrayList:也是陣列結構,也是長度可變的。執行緒不同步的,替代了Vector增刪速度不快,查詢速度很快。
|--LinkedList:連結串列結構,執行緒不同步的。增刪速度很快,查詢速度較慢。
LinkedLisgt的特特殊方法:
1,增加元素
addFirst(E e);將指定元素插入此列表的開頭。
addLast(E e):將指定元素新增到此列表的結尾。
2,獲取元素
getFirst();返回此列表的第一個元素。
getLast();返回此列表的最後一個元素。
3,刪除元素
removeFirst();移除並返回此列表的第一個元素。
removeLast(); 移除並返回此列表的最後一個元素。