Java Collection接口详解
Collection 接口是 List、Set 和 Queue 接口的父接口,通常情況下不被直接使用。Collection 接口定義了一些通用的方法,通過這些方法可以實(shí)現(xiàn)對集合的基本操作。定義的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。
Collection接口的常用方法
| 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() | 判斷集合是否為空 |
| Iteratoriterator() | 返回一個 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ù)組元素。 |
注意:集合類就像容器,現(xiàn)實(shí)生活中容器的功能,就是添加對象、刪除對象、清空容器和判斷容器是否為空等,集合類為這些功能都提供了對應(yīng)的方法。
使用 Collection 接口向集合中添加方法。代碼如下:
public static void main(String[] args) {ArrayList list1 = new ArrayList(); // 創(chuàng)建集合 list1ArrayList list2 = new ArrayList(); // 創(chuàng)建集合 list2list1.add("one"); // 向 list1 添加一個元素list1.add("two"); // 向 list1 添加一個元素list2.addAll(list1); // 將 list1 的所有元素添加到 list2list2.add("three"); // 向 list2 添加一個元素System.out.println("list2 集合中的元素如下:");Iterator it1 = list2.iterator();while (it1.hasNext()) {System.out.print(it1.next() + "、");} }由于 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、演示 Collection 集合中 size()、remove() 和 removeAll() 方法的應(yīng)用。代碼如下:
public static void main(String[] args) {ArrayList list1 = new ArrayList(); // 創(chuàng)建集合 list1ArrayList list2 = new ArrayList(); // 創(chuàng)建集合 list2list1.add("one");list1.add("two");list1.add("three");System.out.println("list1 集合中的元素?cái)?shù)量:" + list1.size()); // 輸出list1中的元素?cái)?shù)量list2.add("two");list2.add("four");list2.add("six");System.out.println("list2 集合中的元素?cái)?shù)量:" + list2.size()); // 輸出list2中的元素?cái)?shù)量list2.remove(2); // 刪除第 3 個元素System.out.println("\nremoveAll() 方法之后 list2 集合中的元素?cái)?shù)量:" + list2.size());System.out.println("list2 集合中的元素如下:");Iterator it1 = list2.iterator();while (it1.hasNext()) {System.out.print(it1.next() + "、");}list1.removeAll(list2);System.out.println("\nremoveAll() 方法之后 list1 集合中的元素?cái)?shù)量:" + list1.size());System.out.println("list1 集合中的元素如下:");Iterator it2 = list1.iterator();while (it2.hasNext()) {System.out.print(it2.next() + "、");} }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ù)量:3removeAll() 方法之后 list2 集合中的元素?cái)?shù)量:2 list2 集合中的元素如下: two、four、removeAll() 方法之后 list1 集合中的元素?cái)?shù)量:2 list1 集合中的元素如下: one、three、注意:retainAll( ) 方法的作用與 removeAll( ) 方法相反,即保留兩個集合中相同的元素,其他全部刪除。
總結(jié)
以上是生活随笔為你收集整理的Java Collection接口详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言中的正负数及其输出
- 下一篇: Java 判断文件是否隐藏