collection是集合框架體系中的根介面,它有兩個常用的子介面,別是list和set
list:有序(儲存順序和取出順序一致),可重複。
實現了list介面的子類以及這些子類的區別:
arraylist:底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高。
vector:底層資料結構是陣列,查詢快,增刪慢。執行緒安全,效率低
linkedlist:底層資料結構是鍊錶,查詢慢,增刪快。執行緒不安全,效率高。
set:無序(儲存資料與取出順序不一致),資料唯一
實現了set介面的子類物件以及這些子類的區別:
hashset:底層資料結構是雜湊表(是乙個元素為鍊錶的陣列),:雜湊表底層依賴兩個方法:hashcode()和equals()保證元素的唯一性
treeset:底層資料結構是紅黑樹(是乙個自平衡的二叉樹),能對儲存的元素自動排序,排序的方式有兩種:1,自然排序,讓元素自身具備比較性,不如讓元素所屬的類實現comparable介面;2,比較器排序,讓集合具備比較性,讓集合的構造方法接收comparator的實現類物件
collection是根介面,裡面定義的功能屬於共性功能:
1,新增功能
boolean add(object o):新增乙個元素
boolean addall(collection c);新增乙個集合的元素
2,刪除功能
void chear();移除所有的元素
boolean remove(object o);移除乙個元素
boolean removeall(collection c);移除乙個集合的元素
3,判斷功能
boolean contains(object o);判斷集合中是否包含指定的元素
boolean containsall(collection c);判斷集合中是否包含指定的元素
boolean isempty();判斷集合否為空
4,獲取功能
iteratoriterator()
5,長度功能
int size();獲取元素個數
6,交集功能
boolean retainall(collection c);兩個集合是否有相同的元素
iterator iterator() 迭代器:
集合中專用的遍歷方式
iterator功能:
object next();獲取下乙個元素,並移動到下乙個位置
boolean hasnext();如果仍有元素可以迭代,就然會true,否則返回false
以arraylist演示list體系裡的基本功能:
public static void main(string args)
// 使用listiterator迭代器遍歷,並新增元素,和刪除元素
listiteratorlit = array.listiterator();
while (lit.hasnext())
// 取交集,哪個集合呼叫retainall方法,交集就存在哪個集合,返回值表示此集合是否改變過
system.out
.println("retainall=" + array.retainall(arry1));
// 把集合轉為陣列
object s = array.toarray();
system.out
.println(array);
//刪除功能
system.out
.println("remove="+array.remove("hello"));//移除乙個元素
system.out
.println("removeall="+arry1.removeall(array));
//只要有乙個元素被刪除就返回true
}
vector的特點:底層資料結構是陣列,查詢快,增刪慢,執行緒安全,效率低
特有功能:
a:新增
public void addelement(e obj) – add()
b:獲取
public e elementat(int index) – get()
public enumeration elements() – iterator()
linkedlist的特點:底層資料結構是鍊錶,查詢慢,增刪快,執行緒不安全,效率高
特有功能:
a:新增
addfirst()
addlast()
b:刪除
removefirst()
removelast()
c:獲取
getfirst()
getlast()
集合框架Collection
collection集合用於儲存物件,長度是可變的,共有的方法有 增 add 刪 remove 獲取 size 判斷 contains,isempetylist 集合是 有順序,可以重複,其中特有的方法有 獲取 get sublist listiterator 改 set arraylist 底層是...
Collection 集合框架小結
1 collection 介面 主要包括 list 介面與set 介面 這兩個介面是我們比較常用的,用來對單個物件進行操作的 1.list介面,適合遍歷與排序,不適合插入與刪除操作。是有序的,允許有重複元素,允許有null值。它主要的實現類有 1 arraylist 此資料結構是基於動態陣列來實現的...
Java之集合框架Collection
一 集合框架概述 1 集合類的出現 物件導向語言對事物的體現的體現都是以物件的形式,所以為了方便對多個物件的操作,就對物件進行儲存,集合就是儲存物件最常用的一種方式。2 陣列與集合的異同 陣列和集合同是容器,陣列既能儲存基本資料型別,也能儲存物件,集合只能儲存物件,陣列的長度是固定的,集合的長度是可...