Collection集合框架和List集合筆記

2021-07-04 14:45:51 字數 1972 閱讀 7108

1.什麼是集合?

能夠儲存多個同型別的基本資料型別的容器我們叫陣列,那麼可以儲存多個同型別物件的容器我們就稱之為集合!

什麼是collection集合框架,通過下面這個圖來說明!

collection是乙個根介面,而它旗下又很多個子介面繼承了它,其中兩個最重要的子介面分別的是list和set,它們繼承了collection介面之後,自己又有自己的新特性,list介面下有3個子類實現了它,set介面下有2個子類實現了它。它們之間的這種層級關係就形成了乙個框架,我們就叫它collection集合框架!

為什麼會出現這麼多種集合呢?

因為每乙個容器對資料的儲存方式都不同。這個儲存方式我們稱之為資料結構!

2.list集合和set集合list和set都是繼承了collection介面

不同的話就是實現了list集合的類它儲存的元素都是有序的,而且有索 引,可以出現重複的元素,而set集合的元素是無序的,沒有索引,不能出現重複元素。

2-1.list集合的子類:

list有3個比較重要的子類,分別是arraylist,linkedlist,vector。

arraylist和vector差不多,它們最大的區別就在arraylist是不同步的,vector是同步的,arraylist的效率比較高,所以我們一般都arraylist。

arraylist的特點:它的底層是陣列的結構,所以它和陣列一樣,每乙個元素都有索引,而且它是有序的,集合在可以存在重複的元素。因為底層是陣列結構的,所以它的查詢元素速度快,但是增刪元素的速度就相對較慢。

//通過一段**來看看arraylist的建立和一些基本操作

class demo01

/*//另一種寫法 能減少記憶體的使用

for (iterator it = arr.iterator(); it.hasnext(); )

*/sop(arr);//原來的元素

cc.p(arr.containsall(arr1));//是否包含arr這個集合

cc.p(arr.size());//集合的長度

arr.removeall(arr1);//去除了和arr1相同的部分

sop(arr);

arr.retainall(arr1);//只保留和arr1相同的部分

sop(arr);

}//乙個列印的小方法

public

static

void

sop(object obj)

}

linkedlist的特點:它的底層是鍊錶的結構,所以它和鍊錶一樣,每乙個元素都有索引,而且它是有序的,集合在可以存在重複的元素。因為底層是鍊錶結構的,所以它的查詢元素速度較慢,但是增刪元素的速度非常快。

//通過一段**來看看linkedlist建立和的方法

class mylist//操作和建立linkedlist集合的類

public

void

myadd(object obj) ;//寫入元素

public boolean myempty() ;//判斷容器裡是否為空

public object myremove() ;//取出容器裡的元素 從最後乙個開始取

}class demo03 }}

總結:

arraylist和linkedlist都可以儲存有序的帶有索引的元素,如果是查詢動作比較多的話,可以使用arraylist!如果是經常要對集合裡的元素進行操作的話那用linkedlist會比較好!

集合框架 Collection

collection是集合框架體系中的根介面,它有兩個常用的子介面,別是list和set list 有序 儲存順序和取出順序一致 可重複。實現了list介面的子類以及這些子類的區別 arraylist 底層資料結構是陣列,查詢快,增刪慢。執行緒不安全,效率高。vector 底層資料結構是陣列,查詢快...

集合框架Collection

collection集合用於儲存物件,長度是可變的,共有的方法有 增 add 刪 remove 獲取 size 判斷 contains,isempetylist 集合是 有順序,可以重複,其中特有的方法有 獲取 get sublist listiterator 改 set arraylist 底層是...

Collection 集合框架小結

1 collection 介面 主要包括 list 介面與set 介面 這兩個介面是我們比較常用的,用來對單個物件進行操作的 1.list介面,適合遍歷與排序,不適合插入與刪除操作。是有序的,允許有重複元素,允許有null值。它主要的實現類有 1 arraylist 此資料結構是基於動態陣列來實現的...