日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
對(duì)比HashMap,HashTable,TreeMap區(qū)別?很多人不知道

本文轉(zhuǎn)載自微信公眾號(hào)「程序員漫畫編程」,作者程序職場(chǎng) 。轉(zhuǎn)載本文請(qǐng)聯(lián)系程序員漫畫編程公眾號(hào)。   

創(chuàng)新互聯(lián)建站是一家專業(yè)從事成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)建站依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營(yíng)經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!

01概念

HashMap

HashMap實(shí)現(xiàn)了Map接口,繼承AbstractMap,它是基于哈希表的 Map 接口的實(shí)現(xiàn)。

HashMap是引用數(shù)據(jù)類型。

Hashtable

Hashtable:是Map接口的另外一個(gè)實(shí)現(xiàn)類,和HashMap用法類似,同時(shí)也有區(qū)別。

treeMap

TreeMap:基于紅黑樹(Red-Black tree)的 NavigableMap實(shí)現(xiàn)。該映射根據(jù)其鍵的自然順序進(jìn)行排序,或者根據(jù)創(chuàng)建映射時(shí)提供的Comparator進(jìn)行排序,具體取決于使用的構(gòu)造方法。

02區(qū)別

1. HashTable的方法是同步的,HashMap未經(jīng)同步,所以在多線程場(chǎng)合要手動(dòng)同步HashMap這個(gè)區(qū)別就像Vector和ArrayList一樣。

2. HashTable不允許null值,key和value都不可以,HashMap允許null值,key和value都可以。

3. HashTable有一個(gè)contains(Object value)功能和containsValue(Object value)功能一樣。

4. HashTable使用Enumeration,HashMap使用Iterator。

5. HashTable中hash數(shù)組默認(rèn)大小是11,增加的方式是 old*2+1。HashMap中hash數(shù)組的默認(rèn)大小是16,而且一定是2的指數(shù)。

6. 哈希值的使用不同,HashTable直接使用對(duì)象的hashCode。

7,這三個(gè)都對(duì)Map接口進(jìn)行了實(shí)現(xiàn)

03安全性

1.HashMap是不安全的線程,他允許Key值出現(xiàn)一次null Value值出現(xiàn)無數(shù)次的Null

2.Hashtable是安全的線程,他不僅實(shí)現(xiàn)了Map接口也實(shí)現(xiàn)了Dictionary接口,他的key值與Value值都不允許出現(xiàn)Null

3.treeMap 非線程安全 可以進(jìn)行排序的,默認(rèn)按照鍵的自然順序進(jìn)行升序排序,若要進(jìn)行降序排序則需要在構(gòu)造集合時(shí)候傳遞一個(gè)比較器。

04關(guān)系圖

05實(shí)例應(yīng)用

 
 
 
 
  1. class  HashMaps    
  2. {    
  3.        public static void main(String[] args)     
  4.       {    
  5.             Map map=new HashMap();                
  6.             map.put(“a”, “aaa”);    
  7.             map.put(“b”, “bbb”);    
  8.             map.put(“c”, “ccc”);    
  9.             map.put(“d”, “ddd”);    
  10.             Iterator iterator = map.keySet().iterator();                
  11.             while (iterator.hasNext()) {    
  12.              Object key = iterator.next();    
  13.              System.out.println(“map.get(key) is :”+map.get(key));    
  14.             }          
  15.                    
  16.  
  17.             Hashtable tab=new Hashtable();                
  18.             tab.put(“a”, “aaa”);    
  19.             tab.put(“b”, “bbb”);    
  20.             tab.put(“c”, “ccc”);    
  21.             tab.put(“d”, “ddd”);    
  22.             Iterator iterator_1 = tab.keySet().iterator();    
  23.             while (iterator_1.hasNext()) {    
  24.              Object key = iterator_1.next();    
  25.              System.out.println(“tab.get(key) is :”+tab.get(key));    
  26.             } 
  27.  
  28.  
  29.             TreeMap tmp=new TreeMap();                
  30.             tmp.put(“a”, “aaa”);    
  31.             tmp.put(“b”, “bbb”);    
  32.             tmp.put(“c”, “ccc”);    
  33.             tmp.put(“d”, “ddd”);    
  34.             Iterator iterator_2 = tmp.keySet().iterator();    
  35.             while (iterator_2.hasNext()) {    
  36.              Object key = iterator_2.next();    
  37.              System.out.println(“tmp.get(key) is :”+tmp.get(key));    
  38.             }             
  39.         }    
  40.     } 

標(biāo)題名稱:對(duì)比HashMap,HashTable,TreeMap區(qū)別?很多人不知道
URL標(biāo)題:http://www.5511xx.com/article/cdchdog.html