Collection介面 List介面與Set介面

2021-10-04 08:54:42 字數 3075 閱讀 3568

collection介面是list介面與set介面的父類介面,而各個集合的又是list介面與set介面的實現類。雖然是三個父類介面,介面中方法具體的實現在子類,但對介面的掌握,可以提高我們對集合的全域性認識。

collection介面中定義的全部抽象方法如下:

這裡列舉說明一些常用的方法:

方法說明

boolean add(e e)

新增元素到容器中

boolean remove(object o)

從容器中移除元素

boolean contains(object o)

判斷容器是否包含該元素

int size()

返回容器中元素的數量

boolean isempty()

判斷容器是否為空

void clear()

清空容器中所有元素

iterator iterator()

獲取迭代器,用於遍歷容器

boolean containsall(collection> c)

判斷本容器是否包含目標容器所有元素

boolean addall(collection extends e> c)

將目標容器所有元素新增到本容器

boolean removeall(collection> c)

移除本容器中,與目標容器元素的交集

boolean retainall(collection> c)

只保留本容器與目標容器元素的交集

object toarray()

轉化為陣列

list是有序、可重複的容器。list介面繼承於collection介面。

list介面中的所有抽象方法如下:

對比collection介面,list介面主要額外宣告了一些跟順序(索引、下標)有關的方法,如下:

方法說明

void add(int index, e element)

在指定位置插入元素

e set(int index, e element)

修改指定位置的元素

e get(int index)

返回指定位置的元素

e remove(int index)

移除指定位置的元素

int indexof(object o)

返回第乙個匹配元素的索引,若無該元素則返回-1

int lastindexof(object o)

返回最後乙個匹配元素的索引,若無該元素則返回-1

list介面常用的實現類有3個:arraylist、linkedlist和vector。

collection介面與list介面都無法例項化,這裡用平時使用較多的arraylist實現類,來具體測試一下collection介面與list介面介面中的方法:

//測試add/remove/size/isempty/contains/clear/toarrays等方法

public

class

test}--

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

-輸出結果為:

true

false

[a, b, c]

list的大小:3

是否包含指定元素:true

[b, c]

轉化成object陣列:[b, c]

清空所有元素:[

]

//測試兩個容器之間元素處理的方法

public

class

test}--

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

-輸出結果為:

list:

[a, b, c]

list2:

[a, d, e]

list是否包含list2中所有元素:

false

addall方法:

[a, b, c, a, d, e]

removeall方法:

[b, c]

retainall方法:

//測試list中關於索引的方法

public

class

test}--

----

----

----

----

----

----

----

----

----

----

----

----

----

----

輸出結果為:

[a, c, d]

[a, b, c, d]

[a, b, c]

[a, b, c]

b[a, b, c, b]

13

set介面繼承自collection,對比collection介面,set介面中沒有新增方法,set介面中定義的抽象方法如下:

set容器特點:無序、不可重複。

set常用的實現類有:hashset、treeset等,我們一般使用hashset。

Collection介面,Map介面

1.collection是集合類的頂級介面,直接繼承介面喲list和set。list介面是有序的,元素可重複,有索引 其下有 arraylist 底層資料結構使用的是陣列結構,執行緒不同步,增刪慢,查詢快 linkendlist 使用雙向鍊錶結構,執行緒不同步,增刪快,查詢慢 vector 使用資料...

集合collection介面

集合collection介面 多型的方式建立collection物件 引用實現類物件時,無法呼叫子類特有方法,平常遍歷 arraylist 集合時,我們可以通過 size 方法獲取,長度,get 方法獲取元素並列印輸出,但是這裡父類物件引用實現類時,無法呼叫子類獨有的 get 方法,就無法使用之前的...

Collection子介面 List介面

3.常用實現類 4.原始碼分析 難點 4.2 linkedlist的原始碼分析 4.3 vector的原始碼分析 5.儲存的元素的要求 1.儲存的資料特點 儲存序的 可重複的資料。2.常用方法 記住 增 add object obj 刪 remove int index remove object ...