日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1.2 Collection接口

發(fā)布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1.2 Collection接口 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Collection接口詳解

Collection 接口是 List、Set 和 Queue 接口的父接口,通常情況下不被直接使用。Collection 接口定義了一些通用的方法,通過這些方法可以實現(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)從集合中刪除一個指定元素,當集合中包含了一個或多個元素 o 時,該方法只刪除第一個符合條件的元素,該方法將返回 true。
boolean removeAll(Collection c)從集合中刪除所有在集合 c 中出現(xiàn)的元素(相當于把調用該方法的集合減去集合 c)。如果該操作改變了調用該方法的集合,則該方法返回 true。
boolean retainAll(Collection c)從集合中刪除集合 c 里不包含的元素(相當于把調用該方法的集合變成該集合和集合 c 的交集),如果該操作改變了調用該方法的集合,則該方法返回 true。
int size()返回集合中元素的個數(shù)
Object[] toArray()把集合轉換為一個數(shù)組,所有的集合元素變成對應的數(shù)組元素。

更多方法查看API。集合類就像容器,現(xiàn)實生活中容器的功能,就是添加對象、刪除對象、清空容器和判斷容器是否為空等,集合類為這些功能都提供了對應的方法。
例 1
經(jīng)過前面的介紹,我們知道 Collection 是非常重要的一個接口,在表 1 中列出了其常用方法。本案例將編寫一個簡單的程序,演示如何使用 Collection 接口向集合中添加方法。具體實現(xiàn)代碼如下:

import java.util.ArrayList; import java.util.Iterator;public class Test {public static void main(String[] args) {ArrayList list=new ArrayList();//創(chuàng)建集合listArrayList list2=new ArrayList();//創(chuàng)建集合list2list.add("one");//向list添加一個元素list.add("two");//向list添加一個元素list2.addAll(list);//將list1的所有元素添加到list2里list2.add("three");//向list2添加一個元素System.out.println("list2集合中的元素為");Iterator it1=list2.iterator();while(it1.hasNext()){System.out.print(it1.next()+",");}} }

由于 Collection 是接口,不能對其實例化,所以上述代碼中使用了 Collection 接口的 ArrayList 實現(xiàn)類來調用 Collection 的方法。add() 方法可以向 Collection 中添加一個元素,而調用 addAll() 方法可以將指定 Collection 中的所有元素添加到另一個 Collection 中。

代碼創(chuàng)建了兩個集合 list1 和 list2,然后調用 add() 方法向 list1 中添加了兩個元素,再調用 addAll() 方法將這兩個元素添加到 list2 中。接下來又向 list2 中添加了一個元素,最后輸出 list2 集合中的所有元素,結果如下:

list2集合中的元素為: one,two,three,four,

例 2
創(chuàng)建一個案例,演示 Collection 集合中 size()、remove() 和 removeAll() 方法的應用。具體代碼如下:

import java.util.ArrayList; import java.util.Iterator;public class Test {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 集合中的元素數(shù)量:" + list1.size()); // 輸出list1中的元素數(shù)量list2.add("two");list2.add("four");list2.add("six");System.out.println("list2 集合中的元素數(shù)量:" + list2.size()); // 輸出list2中的元素數(shù)量list2.remove(2); // 刪除第 3 個元素System.out.println("\nremove() 方法之后 list2 集合中的元素數(shù)量:" + list2.size());System.out.println("list2 集合中的元素如下:");Iterator it1 = list2.iterator();while (it1.hasNext()) {System.out.print(it1.next() + "、");}list1.removeAll(list2);//刪除list1和list2中的相同元素System.out.println("\nremoveAll() 方法之后 list1 集合中的元素數(shù)量:" + list1.size());System.out.println("list1 集合中的元素如下:");Iterator it2 = list1.iterator();while (it2.hasNext()) {System.out.print(it2.next() + "、");}} }

list2 集合在調用 remove(2) 方法刪除第 3 個元素之后剩下了 two 和 four。list1.removeAll(list2) 語句會從 list1 中將 list1 和 list2 中相同的元素刪除,即刪除 two 元素。最后輸出結果如下:

list1 集合中的元素數(shù)量:3
list2 集合中的元素數(shù)量:3

remove() 方法之后 list2 集合中的元素數(shù)量:2
list2 集合中的元素如下: two、four、
removeAll()方法之后 list1 集合中的元素數(shù)量:2
list1 集合中的元素如下: one、three、

注意:retainAll( ) 方法的作用與 removeAll( ) 方法相反,即保留兩個集合中相同的元素,其他全部刪除。

在傳統(tǒng)模式下,把一個對象“丟進”集合中后,集合會忘記這個對象的類型。也就是說,系統(tǒng)把所有的集合元素都當成 Object 類型。從 Java 5 以后,可以使用泛型來限制集合里元素的類型,并讓集合記住所有集合元素的類型

總結

以上是生活随笔為你收集整理的1.2 Collection接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。