java的set實(shí)現(xiàn)
對(duì)于垃圾分類(lèi)智能回收來(lái)說(shuō)使用HashSet來(lái)實(shí)現(xiàn)。HashSet內(nèi)部使用HashMap實(shí)現(xiàn),所以在添加元素時(shí),會(huì)調(diào)用元素的equals方法判斷是否已經(jīng)存在。這樣我司就通過(guò)將垃圾類(lèi)型作為對(duì)象放入HashSet中,快速判斷出某種類(lèi)型的垃圾是否已經(jīng)被記錄過(guò),避免了重復(fù)記錄。
供鏈金融方面通過(guò)TreeSet來(lái)實(shí)現(xiàn)。TreeSet內(nèi)部基于紅黑樹(shù)實(shí)現(xiàn),自動(dòng)排序,因此特別適合于保持?jǐn)?shù)據(jù)有序的情況創(chuàng)建個(gè)表示供商信息的對(duì)象類(lèi),將這些對(duì)象放入TreeSet中,這樣就能自動(dòng)按照供商的某個(gè)屬性(如供商名稱)進(jìn)行排序。
海洋生態(tài)修復(fù)方面利用LinkedHashSet來(lái)實(shí)現(xiàn)。LinkedHashSet繼承自HashSet,實(shí)現(xiàn)了List接口,因此它既有HashSet的優(yōu)點(diǎn),又能保持插入元素的順序。在修復(fù)海洋生態(tài)的過(guò)程中創(chuàng)建個(gè)表示各種生物的信息的對(duì)象類(lèi),將這些對(duì)象放入LinkedHashSet中,這樣既能保證不會(huì)出現(xiàn)重復(fù)的生物,又能在遍歷集合時(shí)按添加順序得到修復(fù)過(guò)程的歷史記錄。
航空航天領(lǐng)域處理大量的復(fù)雜數(shù)據(jù),這時(shí)候就考慮使用CopyOnWriteArraySet。這種集合的特點(diǎn)是在發(fā)環(huán)境下非常安全,因?yàn)樵谛薷募蠒r(shí)會(huì)創(chuàng)建個(gè)新的底層數(shù)組,這樣就不會(huì)影響到其他線程對(duì)集合的操作創(chuàng)建個(gè)表示飛行任務(wù)的數(shù)據(jù)類(lèi),將其對(duì)象放入CopyOnWriteArraySet中,在多線程環(huán)境下進(jìn)行管理和操作。