更新時間:2020-08-27 16:34:07 來源:動力節(jié)點(diǎn) 瀏覽2958次
概念
首先,我們看看Set集合。

(01)Set是繼承于Collection的接口。它是一個不允許有重復(fù)元素的集合。
(02)AbstractSet是一個抽象類,它繼承于AbstractCollection,AbstractCollection實(shí)現(xiàn)了Set中的絕大部分函數(shù),為Set的實(shí)現(xiàn)類提供了便利。
(03)HastSet和TreeSet是Set的兩個實(shí)現(xiàn)類。
HashSet依賴于HashMap,它實(shí)際上是通過HashMap實(shí)現(xiàn)的。HashSet中的元素是無序的。
TreeSet依賴于TreeMap,它實(shí)際上是通過TreeMap實(shí)現(xiàn)的。TreeSet中的元素是有序的。
eg:
下面我們以遍歷違例來看看set集合的利用:

注意:這里Set集合中放入的是String類型,假如我們放入一個自己定義的類實(shí)例的時候,比如Person類實(shí)例,這時候我們要自己重新hashcode和equal方法,用自己的關(guān)鍵字段來重寫,因?yàn)楫?dāng)使用HashSet時,hashCode()方法就會得到調(diào)用,判斷已經(jīng)存儲在集合中的對象的hash code值是否與增加的對象的hash code值一致;如果不一致,直接加進(jìn)去;如果一致,再進(jìn)行equals方法的比較,equals方法如果返回true,表示對象已經(jīng)加進(jìn)去了,就不會再增加新的對象,否則加進(jìn)去。
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java中的set集合類型及其接口的使用”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743