最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Java集合之TreeSet

概述

甘州網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),甘州網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為甘州近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的甘州做網(wǎng)站的公司定做!

TreeSet是SortedSet的實現(xiàn)類,可以確保集合元素處于排序狀態(tài)(根據(jù)元素實際值的大小進(jìn)行排序)

TreeSet采用紅黑樹的數(shù)據(jù)結(jié)構(gòu)來存儲集合元素,且支持兩種排序方法:自然排序和定制排序,默認(rèn)采用自然排序

常用方法

Object first()????????????????????????????????????返回第一個元素

Object last()???????????????????????????????????? 返回最后一個元素

Object lower(Object e)????????????????????返回指定元素的前一個元素

Object higher(Object e)???????????????????返回指定元素的后一個元素

SortedSet subSet(Object fromElement Object toElement):? ? ? ? ? ? [fromElement,toElement)

SortedSet headSet(Object toElement):????????????????????????????????????????? ? [????????????????????,toElement)

SortedSet tailSet(Object fromElement):???????????????????????????????????????????[fromElement,????????????? ? )

Comparator comparator():如果TreeSet采用了定制排序,則返回定制排序所使用的Comparator.如果是采用自然排序,就返回null

自然排序:TreeSet調(diào)用集合元素的compareTo(Object obj)方法來比較元素之間的大小關(guān)系,然后將集合元素按升序排列

Java提供了一個Comparable接口,該接口定義了一個compareTo(Object obj)方法,該方法返回一個整數(shù)值,實現(xiàn)該接口的類必須實現(xiàn)該方法,實現(xiàn)了該接口的類的對象就可以比較大小。

TreeSet中的元素應(yīng)該是同一個類的對象

當(dāng)把一個對象加入TreeSet集合時,TreeSet調(diào)用該對象的compareTo(Object obj)方法與容器中的其他對象比較大小,然后根據(jù)紅黑樹結(jié)構(gòu)找到它的存儲位置。

如果兩個對象通過compareTo(Object obj)比較相等,新對象將無法添加到TreeSet集合中。

當(dāng)需要把一個對象放入TreeSet中,重寫該對象對應(yīng)類的equals()方法時,應(yīng)保證該方法與compareTo(Object obj)方法有一致的結(jié)果。其規(guī)則是:如果兩個對象通過equals()方法比較返回true時,這兩個對象通過compareTo(Object obj)比較時應(yīng)返回0

注:把一個對象添加到TreeSet時,該對象的類必須實現(xiàn)Comparable接口

定制排序:通過Comparator接口的幫助,實現(xiàn)定制排序。該接口里包含了一個int compare(T o1,T o2)方法,用于比較o1和o2的大小

在創(chuàng)建TreeSet集合對象時,提供一個Comparator對象與TreeSet集合關(guān)聯(lián),由該Comparator對象負(fù)責(zé)集合元素的排序邏輯

TreeSet ts = new TreeSet((o1,o2) ->?

{

????M m1 = (M)o1;

????M m2 = (M)o2;

????return m1.age > m2.age ? -1 : m1.age < m2.age ? 1:0

})

?注:M是一個自定義類,關(guān)鍵變量是age


網(wǎng)頁題目:Java集合之TreeSet
網(wǎng)頁網(wǎng)址:http://fisionsoft.com.cn/article/ghhpph.html