Java集合中的Collection接口總結(jié)
集合概述
Java 集合可分為 Collection 和 Map 兩大體系:
- Collection接口:用于存儲(chǔ)一個(gè)一個(gè)的數(shù)據(jù)。
- List子接口:用來存儲(chǔ)有序的、可以重復(fù)的數(shù)據(jù)(主要用來替換數(shù)組,也被稱作"動(dòng)態(tài)"數(shù)組)
- 實(shí)現(xiàn)類:ArrayList(主要實(shí)現(xiàn)類)、LinkedList、Vector
- List子接口:用來存儲(chǔ)有序的、可以重復(fù)的數(shù)據(jù)(主要用來替換數(shù)組,也被稱作"動(dòng)態(tài)"數(shù)組)
- Set子接口:用來存儲(chǔ)無序的、不可重復(fù)的數(shù)據(jù)(類似于高中講的"集合")
- 實(shí)現(xiàn)類:HashSet(主要實(shí)現(xiàn)類)、LinkedHashSet、TreeSet
- Map接口:用于存儲(chǔ)具有映射關(guān)系“key-value對(duì)”的集合,即一對(duì)一對(duì)的數(shù)據(jù)。(類似于高中的函數(shù)、映射。(x1,y1),(x2,y2) —> y = f(x) )
- HashMap(主要實(shí)現(xiàn)類)、LinkedHashMap、TreeMap、Hashtable、Properties
- JDK提供的集合API位于java.util包內(nèi)
Collection接口及方法
- JDK不提供此接口的任何直接實(shí)現(xiàn),而是提供更具體的子接口(如:Set和List)去實(shí)現(xiàn)。
- Collection 接口是 List和Set接口的父接口,該接口里定義的方法既可用于操作 Set 集合,也可用于操作 List 集合。
方法如下:
添加
- add(E obj):添加元素對(duì)象到當(dāng)前集合中
- addAll(Collection other):添加other集合中的所有元素對(duì)象到當(dāng)前集合中,即this = this ∪ other 注意:coll.addAll(other);與coll.add(other);
判斷
- int size():獲取當(dāng)前集合中實(shí)際存儲(chǔ)的元素個(gè)數(shù)
- boolean isEmpty():判斷當(dāng)前集合是否為空集合
- boolean contains(Object obj):判斷當(dāng)前集合中是否存在一個(gè)與obj對(duì)象equals返回true的元素
- boolean containsAll(Collection coll):判斷coll集合中的元素是否在當(dāng)前集合中都存在。即coll集合是否是當(dāng)前集合的“子集”
- boolean equals(Object obj):判斷當(dāng)前集合與obj是否相等
刪除
- void clear():清空集合元素
- boolean remove(Object obj) :從當(dāng)前集合中刪除第一個(gè)找到的與obj對(duì)象equals返回true的元素。
- boolean removeAll(Collection coll):從當(dāng)前集合中刪除所有與coll集合中相同的元素。即this = this - this ∩ coll
- boolean retainAll(Collection coll):從當(dāng)前集合中刪除兩個(gè)集合中不同的元素,使得當(dāng)前集合僅保留與coll集合中的元素相同的元素,即當(dāng)前集合中僅保留兩個(gè)集合的交集,即this = this ∩ coll;
其它
- Object[] toArray():集合轉(zhuǎn)化為數(shù)組
- hashCode():獲取集合對(duì)象的哈希值
- iterator():返回迭代器對(duì)象,用于集合遍歷
到此這篇關(guān)于Java集合中的Collection接口總結(jié)的文章就介紹到這了,更多相關(guān)Collection接口總結(jié)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springBoot解決static和@Component遇到的bug
這篇文章主要介紹了springBoot解決static和@Component遇到的bug,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Spring Data Neo4j實(shí)現(xiàn)復(fù)雜查詢的多種方式
在 Spring Data Neo4j 中,實(shí)現(xiàn)復(fù)雜查詢可以通過多種方式進(jìn)行,包括使用自定義查詢、方法命名查詢以及使用 Cypher 查詢語言,以下是詳細(xì)介紹,幫助你在 Spring Data Neo4j 中實(shí)現(xiàn)復(fù)雜查詢,需要的朋友可以參考下2024-11-11SpringBoot使用WebJars統(tǒng)一管理靜態(tài)資源的方法
這篇文章主要介紹了SpringBoot使用WebJars統(tǒng)一管理靜態(tài)資源的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12在SpringBoot項(xiàng)目中獲取Request的四種方法
這篇文章主要為大家詳細(xì)介紹了SpringBoot項(xiàng)目中獲取Request的四種方法,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以學(xué)習(xí)一下2023-11-11Java中CopyOnWriteArrayList的使用解析
這篇文章主要介紹了Java中CopyOnWriteArrayList的使用解析,CopyOnWriteArrayList適合使用在讀操作遠(yuǎn)遠(yuǎn)大于寫操作的場(chǎng)景里,比如緩存,它不存在擴(kuò)容的概念,每次寫操作都要復(fù)制一個(gè)副本,在副本的基礎(chǔ)上修改后改變Array引用,需要的朋友可以參考下2023-12-12