黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java中treeset和hashset的區別

Java中treeset和hashset的區別

更新時間:2020-08-26 16:14:57 來源:動力節點 瀏覽2211次

HashSet

HashSet有以下特點

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

不是同步的

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

當向HashSet集合中存入一個元素時,HashSet會調用該對象的hashCode()方法來得到該對象的hashCode值,然后根據hashCode值來決定該對象在HashSet中存儲位置。

簡單的說,HashSet集合判斷兩個元素相等的標準是兩個對象通過equals方法比較相等,并且兩個對象的hashCode()方法返回值相等

注意,如果要把一個對象放入HashSet中,重寫該對象對應類的equals方法,也應該重寫其hashCode()方法。其規則是如果兩個對象通過equals方法比較返回true時,其hashCode也應該相同。另外,對象中用作equals比較標準的屬性,都應該用來計算hashCode的值。

TreeSet類

TreeSet是SortedSet接口的唯一實現類,TreeSet可以確保集合元素處于排序狀態。TreeSet支持兩種排序方式,自然排序和定制排序,其中自然排序為默認的排序方式。向TreeSet中加入的應該是同一個類的對象。

TreeSet判斷兩個對象不相等的方式是兩個對象通過equals方法返回false,或者通過CompareTo方法比較沒有返回0

自然排序

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

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

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

如果我們將兩個對象的equals方法總是返回true,則這兩個對象的compareTo方法返回應該返回0

定制排序

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

最重要:

1、TreeSet是二差樹實現的,Treeset中的數據是自動排好序的,不允許放入null值。

2、HashSet是哈希表實現的,HashSet中的數據是無序的,可以放入null,但只能放入一個null,兩者中的值都不能重復,就如數據庫中唯一約束。

3、HashSet要求放入的對象必須實現HashCode()方法,放入的對象,是以hashcode碼作為標識的,而具有相同內容的String對象,hashcode是一樣,所以放入的內容不能重復。但是同一個類的對象可以放入不同的實例。

java treeset hashset

以上就是動力節點java培訓機構的小編針對“Java中treeset和hashset的區別”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日韩精品首页 | 国产成人精品一区二区视频 | 在线观看麻豆精品国产不卡 | 国产精品久久亚洲一区二区 | 青春草视频在线 | 国外成人在线视频网站 | 欧美日韩在线国产 | 色欲麻豆国产福利精品 | 色天天天天| 777艳片 | 天天操夜夜夜 | 最近最中文字幕视频 | 欧美一区二区视频 | 日本中文字幕在线观看 | 国产成人综合网亚洲欧美在线 | 亚洲欧美精品综合中文字幕 | 国产精品123 | 国产精品特黄一级国产大片 | 在线国产不卡 | 久久综合九色综合网站 | 国产资源在线观看 | hdⅹvideos成人 | 日批在线观看视频 | 欧美一区二区三区四区视频 | 日韩经典视频 | 欧美爆操 | 欧美成人精品高清在线观看 | 日本天堂在线 | 天天干在线影院 | 亚洲欧美日韩一区超高清 | 特级深夜a级毛片免费观看 特级中国aaa毛片 | 一级视频免费观看 | 国产尤物二区三区在线观看 | 国产亚洲精品国产福利在线观看 | 亚洲国产欧美国产综合一区 | 日韩免费一级 | 在线欧美a| 最新中文字幕在线 | 国产精品麻豆高清在线观看 | 中文字幕在线乱人伦 | 欧美日韩亚洲综合 |