更新時間:2022-03-24 11:12:57 來源:動力節點 瀏覽1786次
Java集合API 為 Java 開發人員提供 了一組類和接口,可以更輕松地處理對象集合,例如列表、映射、堆棧等。
Java無需編寫自己的集合類,而是為您提供了這些現成的集合類。本教程將仔細研究 Java 集合,因為它們有時也被稱為,更具體地說是 Java 8 及更高版本中可用的 Java 集合。
Java Collection 接口表示泛型集合上可能的操作,例如 List、Set、Stack、Queue 和 Deque。例如,Java Collection 接口中提供了基于索引訪問元素的方法。Java Collection 接口在Java Collection 接口教程 中有更詳細的解釋 。
如上所述,您不是Collection直接創建實例,而是創建Collection. 下面是一個創建 a 的示例,List 它是 的子類型Collection:
集合集合 = new ArrayList();
上面的示例適用于Collection.
以下接口(集合類型)擴展了Java Collection接口:
列表
放
排序集
導航集
隊列
雙端隊列
Java 不附帶 Collection 接口的可用實現,因此您必須使用列出的子類型之一。Collection 接口只定義了這些 Collection 子類型中的每一個共享的一組方法(行為)。這使得可以忽略您正在使用的特定類型的集合,并將其視為集合。這是標準繼承,所以沒有什么神奇之處,但有時它仍然是一個不錯的功能。本文后面的部分將描述這些常用操作中最常用的。
這是一個對集合進行操作的方法:
公共類 MyCollectionUtil{
公共靜態無效doSomething(集合集合){
迭代器 iterator = collection.iterator();
而(迭代器.hasNext()){
對象對象 = iterator.next();
//在這里做一些反對...
}
}
}
這里有幾種方法可以使用不同的 Collection 子類型調用此方法:
設置 set = new HashSet();
列表列表 = 新的 ArrayList();
MyCollectionUtil.doSomething(set);
MyCollectionUtil.doSomething(list);
無論您使用哪種 Collection 子類型,都有一些標準方法可以將元素添加到 Collection。向 a 添加元素Collection是通過該 add()方法完成的。這是向 Java 添加元素的示例Collection:
String anElement = "一個元素";
集合集合 = new HashSet();
boolean didCollectionChange = collection.add(anElement);
該add()方法將給定元素添加到集合中,true如果 Collection由于調用該add()方法而發生更改,則返回。例如, ASet可能沒有改變。如果Set已經包含該元素,則不會再次添加。另一方面,如果您調用add()aList 并且List已經包含該元素,則該元素將在List.
該remove()方法從 中刪除給定的元素,如果刪除的元素存在于 中并被刪除,Collection則返回 true 。Collection如果該元素不存在,則該remove()方法返回false。這是從 Java 中刪除元素的示例Collection:
boolean wasElementRemoved = collection.remove("一個元素");
您還可以Collection使用addAll(). 這是將對象集合添加到 Java 的示例Collection:
Set aSet = ... // 使用某處的元素獲取 Set
集合集合 = new HashSet();
集合.addAll(aSet); //也返回布爾值,但在這里忽略
JavaCollection addAll()將在 Collection 中找到的所有元素作為參數傳遞給該方法。Collection不添加對象本身。只有它的元素。如果您 add()使用 Collection 作為參數調用,Collection則將添加對象本身,而不是其元素。
該addAll()方法的具體行為方式取決于 Collection 子類型。一些 Collection 子類型允許多次添加相同的元素,而另一些則不允許。
Java刪除所有 作為參數傳遞給方法Collection removeAll()的元素。Collection如果 Collection 參數包含任何未找到目標集合的元素,則這些元素將被忽略。這是從 Java 中刪除元素集合的示例Collection:
Collection objects = //... 從某個地方獲取對象的集合。
集合.removeAll(對象);
JavaCollection retainAll()與removeAll(). 它不會刪除在參數中找到的所有元素Collection,而是保留所有這些元素,并刪除所有其他元素。請記住,只有當元素已經包含在目標集合中時,它們才會被保留。Collection 在參數中找到的不在目標集合中的任何新元素都不會自動添加。他們只是被忽略了。這是一個Colletion在另一個 Java中保留所有元素的示例Collection:
集合 colA = new ArrayList();
集合 colB = new ArrayList();
colA.add("A");
colA.add("B");
colA.add("C");
colB.add("1");
colB.add("2");
colB.add("3");
集合目標 = new HashSet();
目標.addAll(colA); //目標現在包含 [A,B,C]
目標.addAll(colB); //目標現在包含 [A,B,C,1,2,3]
目標.retainAll(colB); //目標現在包含 [1,2,3]
size()您可以使用該方法 檢查集合的大小。“大小”是指集合中元素的數量。這是一個例子:
int numberOfElements = collection.size();
您可以迭代集合的所有元素。這是通過 從集合中獲取Java 迭代器并迭代它來完成的。這是它的外觀:
集合集合 = new HashSet();
//... 將元素添加到集合中
迭代器 iterator = collection.iterator();
而(迭代器.hasNext()){
對象對象 = iterator.next();
System.out.println(object);
}
您還可以Collection使用 Java for-each 循環來迭代 Java :
集合集合 = new HashSet();
集合.add("A");
集合.add("B");
集合.add("C");
for(對象對象:集合){
System.out.println(object);
}
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習