成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

比較:HashMap和TreeMap

開(kāi)發(fā) 后端
HashMap和TreeMap在開(kāi)始接觸時(shí),很容易人云亦云變得混淆,從類的來(lái)源上就開(kāi)始不清楚。文章從兩個(gè)類的基礎(chǔ)概念上進(jìn)行行對(duì)比,區(qū)分兩者的不同。

1.AbstractMap抽象類和SortedMap接口

AbstractMap抽象類:覆蓋了equals()和hashCode()方法以確保兩個(gè)相等映射返回相同的哈希碼。如果兩個(gè)映射大小相等、包含同樣的鍵且每個(gè)鍵在這兩個(gè)映射中對(duì)應(yīng)的值都相同,則這兩個(gè)映射相等。映射的哈希碼是映射元素哈希碼的總和,其中每個(gè)元素是Map.Entry接口的一個(gè)實(shí)現(xiàn)。因此,不論映射內(nèi)部順序如何,兩個(gè)相等映射會(huì)報(bào)告相同的哈希碼。

SortedMap接口:它用來(lái)保持鍵的有序順序。SortedMap接口為映像的視圖(子集),包括兩個(gè)端點(diǎn)提供了訪問(wèn)方法。除了排序是作用于映射的鍵以外,處理SortedMap和處理SortedSet一樣。添加到SortedMap實(shí)現(xiàn)類的元素必須實(shí)現(xiàn)Comparable接口,否則您必須給它的構(gòu)造函數(shù)提供一個(gè)Comparator接口的實(shí)現(xiàn)。TreeMap類是它的***一份實(shí)現(xiàn)。

2.兩種常規(guī)Map實(shí)現(xiàn)(分別繼承自AbstractMap和SortedMap)

HashMap:基于哈希表實(shí)現(xiàn)。使用HashMap要求添加的鍵類明確定義了hashCode()和equals()[可以重寫(xiě)hashCode()和equals()],為了優(yōu)化HashMap空間的使用,您可以調(diào)優(yōu)初始容量和負(fù)載因子。

(1)HashMap(): 構(gòu)建一個(gè)空的哈希映像

(2)HashMap(Map m): 構(gòu)建一個(gè)哈希映像,并且添加映像m的所有映射

(3)HashMap(int initialCapacity): 構(gòu)建一個(gè)擁有特定容量的空的哈希映像

(4)HashMap(int initialCapacity, float loadFactor): 構(gòu)建一個(gè)擁有特定容量和加載因子的空的哈希映像

TreeMap:基于紅黑樹(shù)實(shí)現(xiàn)。TreeMap沒(méi)有調(diào)優(yōu)選項(xiàng),因?yàn)樵摌?shù)總處于平衡狀態(tài)。

(1)TreeMap():構(gòu)建一個(gè)空的映像樹(shù)

(2)TreeMap(Map m): 構(gòu)建一個(gè)映像樹(shù),并且添加映像m中所有元素

(3)TreeMap(Comparator c): 構(gòu)建一個(gè)映像樹(shù),并且使用特定的比較器對(duì)關(guān)鍵字進(jìn)行排序

(4)TreeMap(SortedMap s): 構(gòu)建一個(gè)映像樹(shù),添加映像樹(shù)s中所有映射,并且使用與有序映像s相同的比較器排序

3.兩種常規(guī)Map性能

HashMap:適用于在Map中插入、刪除和定位元素。

Treemap:適用于按自然順序或自定義順序遍歷鍵(key)。

4.總結(jié):HashMap通常比TreeMap快一點(diǎn)(樹(shù)和哈希表的數(shù)據(jù)結(jié)構(gòu)使然),建議多使用HashMap,在需要排序的Map時(shí)候才用TreeMap。

原文鏈接:http://blog.csdn.net/forwayfarer/article/details/2922918

責(zé)任編輯:周立方 來(lái)源: Forrest He的專欄
相關(guān)推薦

2022-09-13 14:44:40

HashMap哈希表紅黑樹(shù)

2015-09-16 09:10:27

Java源碼解析

2021-01-15 05:39:13

HashMapHashTableTreeMap

2024-12-31 08:17:34

2022-11-03 09:28:20

GoFrameGomap

2011-02-28 09:31:30

HashtableHashMap

2009-09-12 10:22:20

unixwindows操作系統(tǒng)

2020-02-20 16:45:39

RabbitMQKafka架構(gòu)

2009-06-24 16:16:30

JSF和Tapestr

2024-01-10 14:17:52

pytorchnumpy深度學(xué)習(xí)

2009-12-09 09:30:04

LinuxuClinux

2009-06-26 14:37:10

EJB和Spring

2011-03-03 09:39:36

2009-07-15 16:39:51

AWT和Swing

2009-07-21 13:43:53

ASP和JSP比較

2009-07-10 11:07:18

Swing和SWT

2010-07-14 16:48:02

Perl字符串比較

2019-04-02 10:50:05

框架Spring開(kāi)發(fā)

2011-03-29 23:17:36

KindleAndroid硬件

2011-03-29 13:25:12

ZabbixNagiosZenoss
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品久久久久久久久久久久冷 | 久久国产一区二区三区 | 亚洲国产欧美国产综合一区 | 国产一区二区三区四区在线观看 | 久久亚洲国产精品日日av夜夜 | 91中文字幕| 日日日色 | 美女视频一区二区三区 | 国产高清在线精品一区二区三区 | 免费在线视频精品 | 亚洲美女视频 | 爱草视频| 91在线电影| 久久午夜国产精品www忘忧草 | 九九热免费视频在线观看 | 91亚洲精品在线观看 | 国产精品中文字幕在线观看 | 激情欧美一区二区三区中文字幕 | 成人精品一区二区 | 国产激情一区二区三区 | 国产日产欧产精品精品推荐蛮挑 | 婷婷久 | 亚洲精品视频一区 | 久久99精品久久久久久噜噜 | 中文字幕免费在线 | 在线观看国产h | 国产成人免费视频网站视频社区 | 暴草美女 | 久久尤物免费一区二区三区 | 国产精品不卡一区 | 欧美黄色片 | 欧美精品1区2区 | 精品国产乱码久久久久久丨区2区 | 中文字幕电影在线观看 | 久久免费国产 | 久99久视频| 在线观看国产 | 欧美精品一区二区三区在线四季 | 欧美精品一区在线 | 国产精品色综合 | 日韩欧美视频免费在线观看 |