不算并發(fā)的話,java的Map(目前)一共有六種
常用:HashMap
較常用:TreeMap、LinkedHashMap、EnumMap
不太常用:WeakHashMap、IdentityHashMap
除了LinkedHash繼承Hash,其他都是繼承AbstractMap
Tree與Hash的不同是,Tree是有序的(目前使用紅黑樹(shù)),因此元素必須實(shí)現(xiàn)Comparable接口
添加元素,Tree比Hash慢,但只是一點(diǎn)點(diǎn)
LinkedHash記住插入元素的順序,put和get都會(huì)把位置挪到最后!
Enum的key是枚舉
WeakHash使用弱引用保存key,如果這個(gè)key沒(méi)人引用,就會(huì)定時(shí)回收(tomcat源碼里有使用)
IdentityHash的key不使用hashCode(),使用System.identityHashCode,比較不用equals,而用==。在對(duì)象序列化等才有用
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74857.html
摘要:集合的種類常見(jiàn)的集合類分如下幾個(gè)種類詳解接口是和接口的父接口,也是集合類除外根接口。接口集合中元素的存放特點(diǎn)是元素有序,同一元素可重復(fù)??偨Y(jié)中集合是一個(gè)非常重要的知識(shí)點(diǎn),在實(shí)際運(yùn)用中也是常常會(huì)使用到。 集合的種類 常見(jiàn)的集合類分如下幾個(gè)種類: Collection - List - ArrayList - LinkedList - Set - HashSet...
摘要:在學(xué)習(xí)的實(shí)現(xiàn)類是基于實(shí)現(xiàn)的前,先來(lái)介紹下接口及其下的子接口先看下的架構(gòu)圖如上圖是映射接口,中存儲(chǔ)的內(nèi)容是鍵值對(duì)。是繼承于的接口。中的內(nèi)容是排序的鍵值對(duì),排序的方法是通過(guò)比較器。 Map 在學(xué)習(xí)Set(Set的實(shí)現(xiàn)類是基于Map實(shí)現(xiàn)的)、HashMap、TreeMap前,先來(lái)介紹下Map接口及其下的子接口.先看下Map的架構(gòu)圖:showImg(https://segmentfault.c...
摘要:解決沖突開(kāi)放定址法拉鏈法表解決沖突開(kāi)放定址法再哈希法鏈地址法建立公共溢出區(qū)并發(fā)包中的線程安全的集合容器線程安全的,不允許為,默認(rèn)個(gè)的數(shù)組,每個(gè)中實(shí)現(xiàn)就是了,通過(guò)定位。基于數(shù)組,線程安全的集合類,容量可以限制。 List List?元素是有序的、可重復(fù),實(shí)現(xiàn)List接口的集合主要有:ArrayList、LinkedList、Vector、Stack。 ArrayList:動(dòng)態(tài)數(shù)組...
摘要:提供了線程安全的共享對(duì)象,在編寫多線程代碼時(shí),可把不安全的整個(gè)變量封裝進(jìn),或者把該對(duì)象與線程相關(guān)的狀態(tài)使用保存并不能替代同步機(jī)制,兩者面向的問(wèn)題領(lǐng)域不同。 ThreadLocal類 使用ThreadLocal類可以簡(jiǎn)化多線程編程時(shí)的并發(fā)訪問(wèn),使用這個(gè)工具類可以很簡(jiǎn)捷地隔離多線程程序的競(jìng)爭(zhēng)資源。Java5之后,為ThreadLocal類增加了泛型支持,即ThreadLocal Threa...
閱讀 1954·2021-11-22 14:44
閱讀 1684·2021-11-02 14:46
閱讀 3680·2021-10-13 09:40
閱讀 2611·2021-09-07 09:58
閱讀 1642·2021-09-03 10:28
閱讀 1672·2019-08-29 15:30
閱讀 991·2019-08-29 15:28
閱讀 1484·2019-08-26 12:20