av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

對比HashMap,HashTable,TreeMap區(qū)別?很多人不知道

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

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

01概念

HashMap

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

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

Hashtable

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

treeMap

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

02區(qū)別

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

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

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

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

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

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

7,這三個都對Map接口進行了實現(xiàn)

03安全性

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

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

3.treeMap 非線程安全 可以進行排序的,默認按照鍵的自然順序進行升序排序,若要進行降序排序則需要在構造集合時候傳遞一個比較器。

04關系圖

05實例應用

 
 
 
 
  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.     } 

網(wǎng)站標題:對比HashMap,HashTable,TreeMap區(qū)別?很多人不知道
新聞來源:http://uogjgqi.cn/article/cdchdog.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流