詳解Java中Collection集合的常用方法
1、boolean add(E e)
添加元素到Collection集合中。

2、boolean addAll(Collection<? extends E> c)
將指定c中的所有元素都添加到此Collection集合中。

3、void clear()
移除此collection集合中的所有元素

4、boolean contains(Object o)
檢查Collection集合中是否包含o對(duì)象,如果包含則返回true,否則返回false。

5、boolean containsAll(Collection<?> c)
檢查Collection集合中是否包含c的全部對(duì)象,全部包含則返回true,否則返回false。

6、boolean equals(Object o)
比較此collection集合與指定對(duì)象是否相等,是比較的是里面元素是否相等,而不是比較地址是否相等。
在Object類(lèi)中,equals()方法底層就是“==”,也就是說(shuō)就是比較地址是否相等,但是繼承后,大多數(shù)的類(lèi)都重寫(xiě)了該方法。
由于Collection是接口,不能直接new對(duì)象,所以只能new一個(gè)它的子類(lèi)。

下面這個(gè)是Object類(lèi)的equals()方法,底層就是用"=="。

下面我們來(lái)看Collection的一個(gè)實(shí)現(xiàn)類(lèi)Vector。
Vector是繼承了AbstractList

所以它的equals方法是調(diào)用了父類(lèi)的方法

我們?cè)俑M(jìn)去看看。真的是重寫(xiě)的equals方法

7、int hashCode()
返回此Collection集合的哈希碼值。

8、boolean isEmpty()
檢查Collection集合是否包含有元素,如果沒(méi)有包含元素,則返回true,否則返回false。
此方法與contains方法的區(qū)別是,此方法是判斷集合是否包含有元素,就是說(shuō),如果一個(gè)元素都沒(méi)有的話就返回true,如果有一個(gè)或者以上就返回false。
contains的方法是判斷集合中是否包含特定的元素,如果包含特定的元素就返回true,如果沒(méi)有包含特定元素就返回false。

9、Iterator<E> iterator()
返回在此collection集合的元素上進(jìn)行迭代的迭代器

注意:迭代過(guò)程中不能用集合里的添加、刪除等方法修改集合,不然會(huì)報(bào)錯(cuò)。
如果想在迭代過(guò)程中還想操作集合,那么只能用迭代器類(lèi)里面的方法。

10、boolean remove(Object o)
從collection集合中刪除指定的元素,如果集合中有這個(gè)元素,并且刪除成功,那么就返回true,否則返回false。

11、boolean removeAll(Collection<?> c)
從集合中刪除c集合中所有的元素

12、boolean retainAll(Collection<?> c)
集合中僅保留c集合中的所有元素

13、int size()
返回集合中元素個(gè)數(shù)

14、Object[] toArray()
返回包含此collection集合中所有元素的數(shù)組

總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Java實(shí)現(xiàn)Http請(qǐng)求的常用方法詳解
在實(shí)際開(kāi)發(fā)過(guò)程中,我們經(jīng)常需要調(diào)用對(duì)方提供的接口或測(cè)試自己寫(xiě)的接口是否合適,本文為大家整理了Java調(diào)用第三方http接口幾種方式,需要的可以參考下2025-02-02
Java實(shí)現(xiàn)矩陣順時(shí)針旋轉(zhuǎn)90度的示例
今天小編就為大家分享一篇Java實(shí)現(xiàn)矩陣順時(shí)針旋轉(zhuǎn)90度的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
Java的System.getProperty()方法獲取大全
這篇文章主要介紹了Java的System.getProperty()方法獲取大全,羅列了System.getProperty()方法獲取各類(lèi)信息的用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
Junit 5中@ParameterizedTest與@EnumSource結(jié)合使用
今天小編就為大家分享一篇關(guān)于Junit 5中@ParameterizedTest與@EnumSource結(jié)合使用,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
IDEA在一個(gè)項(xiàng)目空間下管理多個(gè)項(xiàng)目的操作方法
這篇文章主要介紹了IDEA如何在一個(gè)項(xiàng)目空間下管理多個(gè)項(xiàng)目,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04
SpringBoot項(xiàng)目修改訪問(wèn)端口和訪問(wèn)路徑的方法
這篇文章主要介紹了SpringBoot項(xiàng)目修改訪問(wèn)端口和訪問(wèn)路徑的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
SpringBoot實(shí)現(xiàn)發(fā)送驗(yàn)證碼功能(圖片驗(yàn)證碼)
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)發(fā)送驗(yàn)證碼功能(圖片驗(yàn)證碼),本次內(nèi)容主要學(xué)習(xí)如何做一個(gè)發(fā)送驗(yàn)證碼和識(shí)別驗(yàn)證碼的功能,需要的朋友可以參考下2024-06-06

