大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java中treeset和hashset的區(qū)別

Java中treeset和hashset的區(qū)別

更新時(shí)間:2020-08-26 16:14:57 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2196次

HashSet

HashSet有以下特點(diǎn)

不能保證元素的排列順序,順序有可能發(fā)生變化

不是同步的

集合元素可以是null,但只能放入一個(gè)null

當(dāng)向HashSet集合中存入一個(gè)元素時(shí),HashSet會(huì)調(diào)用該對(duì)象的hashCode()方法來(lái)得到該對(duì)象的hashCode值,然后根據(jù)hashCode值來(lái)決定該對(duì)象在HashSet中存儲(chǔ)位置。

簡(jiǎn)單的說(shuō),HashSet集合判斷兩個(gè)元素相等的標(biāo)準(zhǔn)是兩個(gè)對(duì)象通過(guò)equals方法比較相等,并且兩個(gè)對(duì)象的hashCode()方法返回值相等

注意,如果要把一個(gè)對(duì)象放入HashSet中,重寫(xiě)該對(duì)象對(duì)應(yīng)類(lèi)的equals方法,也應(yīng)該重寫(xiě)其hashCode()方法。其規(guī)則是如果兩個(gè)對(duì)象通過(guò)equals方法比較返回true時(shí),其hashCode也應(yīng)該相同。另外,對(duì)象中用作equals比較標(biāo)準(zhǔn)的屬性,都應(yīng)該用來(lái)計(jì)算hashCode的值。

TreeSet類(lèi)

TreeSet是SortedSet接口的唯一實(shí)現(xiàn)類(lèi),TreeSet可以確保集合元素處于排序狀態(tài)。TreeSet支持兩種排序方式,自然排序和定制排序,其中自然排序?yàn)槟J(rèn)的排序方式。向TreeSet中加入的應(yīng)該是同一個(gè)類(lèi)的對(duì)象。

TreeSet判斷兩個(gè)對(duì)象不相等的方式是兩個(gè)對(duì)象通過(guò)equals方法返回false,或者通過(guò)CompareTo方法比較沒(méi)有返回0

自然排序

自然排序使用要排序元素的CompareTo(Object obj)方法來(lái)比較元素之間大小關(guān)系,然后將元素按照升序排列。

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

obj1.compareTo(obj2)方法如果返回0,則說(shuō)明被比較的兩個(gè)對(duì)象相等,如果返回一個(gè)正數(shù),則表明obj1大于obj2,如果是負(fù)數(shù),則表明obj1小于obj2。

如果我們將兩個(gè)對(duì)象的equals方法總是返回true,則這兩個(gè)對(duì)象的compareTo方法返回應(yīng)該返回0

定制排序

自然排序是根據(jù)集合元素的大小,以升序排列,如果要定制排序,應(yīng)該使用Comparator接口,實(shí)現(xiàn)int compare(T o1,T o2)方法。

最重要:

1、TreeSet是二差樹(shù)實(shí)現(xiàn)的,Treeset中的數(shù)據(jù)是自動(dòng)排好序的,不允許放入null值。

2、HashSet是哈希表實(shí)現(xiàn)的,HashSet中的數(shù)據(jù)是無(wú)序的,可以放入null,但只能放入一個(gè)null,兩者中的值都不能重復(fù),就如數(shù)據(jù)庫(kù)中唯一約束。

3、HashSet要求放入的對(duì)象必須實(shí)現(xiàn)HashCode()方法,放入的對(duì)象,是以hashcode碼作為標(biāo)識(shí)的,而具有相同內(nèi)容的String對(duì)象,hashcode是一樣,所以放入的內(nèi)容不能重復(fù)。但是同一個(gè)類(lèi)的對(duì)象可以放入不同的實(shí)例。

java treeset hashset

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中treeset和hashset的區(qū)別”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久九九热视频 | 一本本久综合久久爱 | 亚洲在线一区 | 香蕉免费一区二区三区在线观看 | 日日草夜夜草 | 香蕉视频免费在线 | 五月国产综合视频在线观看 | 国产成人精品s8sp视频 | 在线观看 一区二区 麻豆 | 亚洲国产人成在线观看69网站 | 欧美高清国产 | 日产国产欧美视频一区精品 | porno日本xxxxx视频| 久热99这里只有精品视频6 | 欧美成人精品福利在线视频 | 婷婷久久五月天 | 国产亚洲一区二区三区 | 特级毛片s级全部免费 | 亚洲一区毛片 | 九九视频免费精品视频免费 | 国产香蕉精品视频 | 欧洲国产伦久久久久久久 | 99热国内精品 | 亚洲精品中文字幕不卡在线 | 精品久久久久久久九九九精品 | 天天操夜夜骑 | 色综合色狠狠天天综合色 | 日日干日日插 | 日韩美女强理论片 | 亚洲爱爱久久精品 | 久草在线观看首页 | 国产野花视频天堂视频免费 | 精品一区二区三区色花堂 | 福利在线看 | 久久久综合| 四虎在线最新永久免费 | aaaaa级毛片 aaaa级毛片欧美的 | 国产美女午夜精品福利视频 | 久久精品影院一区二区三区 | 亚洲综合精品一区 | 一线毛片 |