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