1.2 Collection接口
Collection接口詳解
Collection 接口是 List、Set 和 Queue 接口的父接口,通常情況下不被直接使用。Collection 接口定義了一些通用的方法,通過這些方法可以實(shí)現(xiàn)對集合的基本操作。定義的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。
本節(jié)將介紹 Collection 接口中常用的方法,如表 1 所示:
| boolean add(E e) | 向集合中添加一個元素,如果集合對象被添加操作改變了,則返回 true。E 是元素的數(shù)據(jù)類型 |
| boolean addAll(Collection c) | 向集合中添加集合 c 中的所有元素,如果集合對象被添加操作改變了,則返回 true。 |
| void clear() | 清除集合中的所有元素,將集合長度變?yōu)?0。 |
| boolean contains(Object o) | 判斷集合中是否存在指定元素 |
| boolean containsAll(Collection c) | 判斷集合中是否包含集合 c 中的所有元素 |
| boolean isEmpty() | 判斷集合是否為空 |
| Iterator<E>iterator() | 返回一個 Iterator 對象,用于遍歷集合中的元素 |
| boolean remove(Object o) | 從集合中刪除一個指定元素,當(dāng)集合中包含了一個或多個元素 o 時,該方法只刪除第一個符合條件的元素,該方法將返回 true。 |
| boolean removeAll(Collection c) | 從集合中刪除所有在集合 c 中出現(xiàn)的元素(相當(dāng)于把調(diào)用該方法的集合減去集合 c)。如果該操作改變了調(diào)用該方法的集合,則該方法返回 true。 |
| boolean retainAll(Collection c) | 從集合中刪除集合 c 里不包含的元素(相當(dāng)于把調(diào)用該方法的集合變成該集合和集合 c 的交集),如果該操作改變了調(diào)用該方法的集合,則該方法返回 true。 |
| int size() | 返回集合中元素的個數(shù) |
| Object[] toArray() | 把集合轉(zhuǎn)換為一個數(shù)組,所有的集合元素變成對應(yīng)的數(shù)組元素。 |
更多方法查看API。集合類就像容器,現(xiàn)實(shí)生活中容器的功能,就是添加對象、刪除對象、清空容器和判斷容器是否為空等,集合類為這些功能都提供了對應(yīng)的方法。
例 1
經(jīng)過前面的介紹,我們知道 Collection 是非常重要的一個接口,在表 1 中列出了其常用方法。本案例將編寫一個簡單的程序,演示如何使用 Collection 接口向集合中添加方法。具體實(shí)現(xiàn)代碼如下:
由于 Collection 是接口,不能對其實(shí)例化,所以上述代碼中使用了 Collection 接口的 ArrayList 實(shí)現(xiàn)類來調(diào)用 Collection 的方法。add() 方法可以向 Collection 中添加一個元素,而調(diào)用 addAll() 方法可以將指定 Collection 中的所有元素添加到另一個 Collection 中。
代碼創(chuàng)建了兩個集合 list1 和 list2,然后調(diào)用 add() 方法向 list1 中添加了兩個元素,再調(diào)用 addAll() 方法將這兩個元素添加到 list2 中。接下來又向 list2 中添加了一個元素,最后輸出 list2 集合中的所有元素,結(jié)果如下:
list2集合中的元素為: one,two,three,four,
例 2
創(chuàng)建一個案例,演示 Collection 集合中 size()、remove() 和 removeAll() 方法的應(yīng)用。具體代碼如下:
list2 集合在調(diào)用 remove(2) 方法刪除第 3 個元素之后剩下了 two 和 four。list1.removeAll(list2) 語句會從 list1 中將 list1 和 list2 中相同的元素刪除,即刪除 two 元素。最后輸出結(jié)果如下:
list1 集合中的元素?cái)?shù)量:3
list2 集合中的元素?cái)?shù)量:3
remove() 方法之后 list2 集合中的元素?cái)?shù)量:2
list2 集合中的元素如下: two、four、
removeAll()方法之后 list1 集合中的元素?cái)?shù)量:2
list1 集合中的元素如下: one、three、
注意:retainAll( ) 方法的作用與 removeAll( ) 方法相反,即保留兩個集合中相同的元素,其他全部刪除。
在傳統(tǒng)模式下,把一個對象“丟進(jìn)”集合中后,集合會忘記這個對象的類型。也就是說,系統(tǒng)把所有的集合元素都當(dāng)成 Object 類型。從 Java 5 以后,可以使用泛型來限制集合里元素的類型,并讓集合記住所有集合元素的類型
總結(jié)
以上是生活随笔為你收集整理的1.2 Collection接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MD5加密实现类
- 下一篇: 1.1 JAVA集合