大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java集合詳解

Java集合詳解

更新時(shí)間:2022-03-24 11:12:57 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1644次

Java集合API 為 Java 開發(fā)人員提供 了一組類和接口,可以更輕松地處理對(duì)象集合,例如列表、映射、堆棧等。

Java無需編寫自己的集合類,而是為您提供了這些現(xiàn)成的集合類。本教程將仔細(xì)研究 Java 集合,因?yàn)樗鼈冇袝r(shí)也被稱為,更具體地說是 Java 8 及更高版本中可用的 Java 集合。

Java Collection 接口表示泛型集合上可能的操作,例如 List、Set、Stack、Queue 和 Deque。例如,Java Collection 接口中提供了基于索引訪問元素的方法。Java Collection 接口在Java Collection 接口教程 中有更詳細(xì)的解釋 。

創(chuàng)建一個(gè)集合

如上所述,您不是Collection直接創(chuàng)建實(shí)例,而是創(chuàng)建Collection. 下面是一個(gè)創(chuàng)建 a 的示例,List 它是 的子類型Collection:

集合集合 = new ArrayList();

上面的示例適用于Collection.

集合子類型

以下接口(集合類型)擴(kuò)展了Java Collection接口:

列表

排序集

導(dǎo)航集

隊(duì)列

雙端隊(duì)列

Java 不附帶 Collection 接口的可用實(shí)現(xiàn),因此您必須使用列出的子類型之一。Collection 接口只定義了這些 Collection 子類型中的每一個(gè)共享的一組方法(行為)。這使得可以忽略您正在使用的特定類型的集合,并將其視為集合。這是標(biāo)準(zhǔn)繼承,所以沒有什么神奇之處,但有時(shí)它仍然是一個(gè)不錯(cuò)的功能。本文后面的部分將描述這些常用操作中最常用的。

這是一個(gè)對(duì)集合進(jìn)行操作的方法:

公共類 MyCollectionUtil{
  公共靜態(tài)無效doSomething(集合集合){    
    迭代器 iterator = collection.iterator();
    而(迭代器.hasNext()){
      對(duì)象對(duì)象 = iterator.next();
      //在這里做一些反對(duì)...
    }
  }
}

這里有幾種方法可以使用不同的 Collection 子類型調(diào)用此方法:

設(shè)置 set = new HashSet();
列表列表 = 新的 ArrayList();
MyCollectionUtil.doSomething(set);
MyCollectionUtil.doSomething(list);    

將元素添加到集合

無論您使用哪種 Collection 子類型,都有一些標(biāo)準(zhǔn)方法可以將元素添加到 Collection。向 a 添加元素Collection是通過該 add()方法完成的。這是向 Java 添加元素的示例Collection:

String anElement = "一個(gè)元素";
集合集合 = new HashSet();
boolean didCollectionChange = collection.add(anElement);

該add()方法將給定元素添加到集合中,true如果 Collection由于調(diào)用該add()方法而發(fā)生更改,則返回。例如, ASet可能沒有改變。如果Set已經(jīng)包含該元素,則不會(huì)再次添加。另一方面,如果您調(diào)用add()aList 并且List已經(jīng)包含該元素,則該元素將在List.

從集合中移除元素

該remove()方法從 中刪除給定的元素,如果刪除的元素存在于 中并被刪除,Collection則返回 true 。Collection如果該元素不存在,則該remove()方法返回false。這是從 Java 中刪除元素的示例Collection:

boolean wasElementRemoved = collection.remove("一個(gè)元素");

將對(duì)象集合添加到集合

您還可以Collection使用addAll(). 這是將對(duì)象集合添加到 Java 的示例Collection:

Set aSet = ... // 使用某處的元素獲取 Set
集合集合 = new HashSet();
集合.addAll(aSet); //也返回布爾值,但在這里忽略

JavaCollection addAll()將在 Collection 中找到的所有元素作為參數(shù)傳遞給該方法。Collection不添加對(duì)象本身。只有它的元素。如果您 add()使用 Collection 作為參數(shù)調(diào)用,Collection則將添加對(duì)象本身,而不是其元素。

該addAll()方法的具體行為方式取決于 Collection 子類型。一些 Collection 子類型允許多次添加相同的元素,而另一些則不允許。

從集合中刪除元素集合

Java刪除所有 作為參數(shù)傳遞給方法Collection removeAll()的元素。Collection如果 Collection 參數(shù)包含任何未找到目標(biāo)集合的元素,則這些元素將被忽略。這是從 Java 中刪除元素集合的示例Collection:

Collection objects = //... 從某個(gè)地方獲取對(duì)象的集合。
集合.removeAll(對(duì)象);

將一個(gè)集合中的所有元素保留在另一個(gè)集合中

JavaCollection retainAll()與removeAll(). 它不會(huì)刪除在參數(shù)中找到的所有元素Collection,而是保留所有這些元素,并刪除所有其他元素。請(qǐng)記住,只有當(dāng)元素已經(jīng)包含在目標(biāo)集合中時(shí),它們才會(huì)被保留。Collection 在參數(shù)中找到的不在目標(biāo)集合中的任何新元素都不會(huì)自動(dòng)添加。他們只是被忽略了。這是一個(gè)Colletion在另一個(gè) 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");
集合目標(biāo) = new HashSet();
目標(biāo).addAll(colA); //目標(biāo)現(xiàn)在包含 [A,B,C]
目標(biāo).addAll(colB); //目標(biāo)現(xiàn)在包含 [A,B,C,1,2,3]
目標(biāo).retainAll(colB); //目標(biāo)現(xiàn)在包含 [1,2,3]

集合大小

size()您可以使用該方法 檢查集合的大小。“大小”是指集合中元素的數(shù)量。這是一個(gè)例子:

int numberOfElements = collection.size();    

迭代一個(gè)集合

您可以迭代集合的所有元素。這是通過 從集合中獲取Java 迭代器并迭代它來完成的。這是它的外觀:

集合集合 = new HashSet();
//... 將元素添加到集合中
迭代器 iterator = collection.iterator();
而(迭代器.hasNext()){
    對(duì)象對(duì)象 = iterator.next();
    System.out.println(object);
}

您還可以Collection使用 Java for-each 循環(huán)來迭代 Java :

集合集合 = new HashSet();
集合.add("A");
集合.add("B");
集合.add("C");
for(對(duì)象對(duì)象:集合){
    System.out.println(object);
}

 

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲成人综合视频 | 久久r这里只有精品 | 91精品国产一区二区三区左线 | 国产亚洲片| 四虎影视在线影院在线观看 | 日韩毛片| 第一福利在线 | 涩涩www在线观看免费高清 | 精品一区二区三区色花堂 | 久久青草免费91线频观看不卡 | 国产亚洲精品成人a在线 | 午夜香蕉成视频人网站高清版 | 亚洲精品久久精品h成人 | 四虎最新视频 | 九九在线| 午夜视频免费国产在线 | 亚洲欧美日韩国产综合高清 | 亚洲综合色色图 | 久久r8这里只精品99re66 | 中文字幕精品一区二区三区在线 | 尤物精品视频在线观看 | 久久九九99热这里只有精品 | 四虎影院中文字幕 | 国产精品亚洲综合久久 | 香港a毛片免费全部播放 | 欧美中文字幕一二三四区 | 99精品热线在线观看免费视频 | 免费福利视频在线观看 | 亚洲精品高清久久 | 亚洲伊人久久综合一区二区 | 久久国产精品999 | 99久久久国产精品免费牛牛四川 | 欧美激情在线播放 | 久草在现视频 | 91手机看片国产永久免费 | 亚洲香蕉在线观看 | 日韩成人三级 | 国产亚洲视频在线 | a看片| 麻豆狠色伊人亚洲综合网站 | 在线播放国产一区 |