新手編程學(xué)習(xí),Java遍歷hashset

新手編程學(xué)習(xí),Java遍歷hashset

天津卓眾教育      2022-04-19 00:21:01     23

新手編程學(xué)習(xí),Java遍歷hashset,遍歷HashSet作為集合,有多種遍歷方法,如普通for循環(huán),增強(qiáng)for循環(huán),迭代器,我們通過迭代器遍歷來看一下打印出來的結(jié)果如何呢

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細(xì)介紹

遍歷

HashSet作為集合,有多種遍歷方法,如普通for循環(huán),增強(qiáng)for循環(huán),迭代器,我們通過迭代器遍歷來看一下

 打印出來的結(jié)果如何呢?

星期二星期三星期四星期五星期一

意料之中吧,HashSet是通過HashMap來實(shí)現(xiàn)的,HashMap通過hash(key)來確定存儲的位置,是不具備存儲順序性的,因此HashSet遍歷出的元素也并非按照插入的順序。

合計(jì)合計(jì)

按照我前面的規(guī)劃,應(yīng)該每一塊主要的內(nèi)容都單獨(dú)寫一下,如集合ArrayList,linkedList,HashMap,TreeMap等。不過我在寫這篇關(guān)于HashSet的文章時,發(fā)現(xiàn)有前面對HashMap的講解后,確實(shí)簡單,HashSet就是一個皮包公司,在HashMap外面加了一個殼,那么linkedHashSet是否就是在linkedHashMap外面加了一個殼呢,而TreeSet是否是在TreeMap外面加了一個殼?我們來驗(yàn)證一下

先看一下linkedHashSet

最開始的結(jié)構(gòu)圖已經(jīng)提到了linkedHashSet是HashSet的子類,我們來看源碼

上面就是linkedHashSet的所有代碼了,是不是感覺智商被否定了,這基本上沒啥東西嘛,構(gòu)造器還全部調(diào)用父類的,下面就是其父類HashSet的對此的構(gòu)造方法

大家也看出來,和我們的猜測一樣,沒有深究下去的必要了。如果有興趣可以看看linkedHashMap如何保證順序性

在看一下TreeSet

確實(shí)如我們所猜測,TreeSet也完全依賴于TreeMap來實(shí)現(xiàn),如果有興趣可以看看TreeMap原理實(shí)現(xiàn)及常用方法

以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對“新手編程學(xué)習(xí),Java遍歷hashset”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時為你服務(wù)。

培訓(xùn)啦提醒您:交易時請核實(shí)對方資質(zhì),對于過大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。