更新時(shí)間:2020-08-27 16:34:07 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2512次
概念
首先,我們看看Set集合。
(01)Set是繼承于Collection的接口。它是一個(gè)不允許有重復(fù)元素的集合。
(02)AbstractSet是一個(gè)抽象類,它繼承于AbstractCollection,AbstractCollection實(shí)現(xiàn)了Set中的絕大部分函數(shù),為Set的實(shí)現(xiàn)類提供了便利。
(03)HastSet和TreeSet是Set的兩個(gè)實(shí)現(xiàn)類。
HashSet依賴于HashMap,它實(shí)際上是通過HashMap實(shí)現(xiàn)的。HashSet中的元素是無(wú)序的。
TreeSet依賴于TreeMap,它實(shí)際上是通過TreeMap實(shí)現(xiàn)的。TreeSet中的元素是有序的。
eg:
下面我們以遍歷違例來(lái)看看set集合的利用:
注意:這里Set集合中放入的是String類型,假如我們放入一個(gè)自己定義的類實(shí)例的時(shí)候,比如Person類實(shí)例,這時(shí)候我們要自己重新hashcode和equal方法,用自己的關(guān)鍵字段來(lái)重寫,因?yàn)楫?dāng)使用HashSet時(shí),hashCode()方法就會(huì)得到調(diào)用,判斷已經(jīng)存儲(chǔ)在集合中的對(duì)象的hash code值是否與增加的對(duì)象的hash code值一致;如果不一致,直接加進(jìn)去;如果一致,再進(jìn)行equals方法的比較,equals方法如果返回true,表示對(duì)象已經(jīng)加進(jìn)去了,就不會(huì)再增加新的對(duì)象,否則加進(jìn)去。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中的set集合類型及其接口的使用”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743