国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

HashMap與Hashtable的區別

2019-11-14 12:49:23
字體:
來源:轉載
供稿:網友

今天小錢給大家介紹一個重要的話題:HashMap與Hashtable的區別。再次強調,我在此不僅要說它們的區別,更重要的是,這是一道非常重要的企業面試題,幾乎每期大、中小型軟件公司面試出現的頻率會占60%-70%左右,無論你選擇從事Android開發、javaEE開發,還是大數據,Java基礎都非常重要,出現此題的概率也非常高,所以必須掌握它....步入正題:為什么要把它倆放一起做對比呢?Hashtable是從JDK1.0版本開始,從Java2平臺v1.2就被改進實現了Map接口,它和集合的Vector有些相似,因為Vector也是從JDK1.0版本開始,但最終它被HashMap給替代了,接下來我們重點說它倆的區別是什么:它倆的區別:首先我們說它們的共同點:底層都是哈希算法,都是雙列集合;區別是:1.HashMap是線程不安全的,線程不安全效率高,它是JDK1.2版本的;

   Hashtable是線程安全的,它的效率低,它是JDK1.0版本的;

2.HashMap可以存儲null鍵和null值;

   Hashtable不可以存儲null鍵和null值。

接下來我們來看下案例演示它倆的區別,貼上代碼:

package cn.edu.jit.map;import java.util.HashMap;import java.util.Hashtable;/** * HashMap和Hashtable的區別(很重要的面試題) * 它倆的區別:	首先我們說它們的共同點:底層都是哈希算法,都是雙列集合;	區別是:	1.HashMap是線程不安全的,線程不安全效率高,它是JDK1.2版本的;      Hashtable是線程安全的,它的效率低,它是JDK1.0版本的;	2.HashMap可以存儲null鍵和null值;   	  Hashtable不可以存儲null鍵和null值。 * @author Rocky * */public class HashTableMapDemo {	public static void main(String[] args) {		HashMap<String, Integer> hm = new HashMap<String, Integer>();		hm.put(null, 23);		System.out.PRintln(hm);//{null=23}				hm.put("李四", null);		System.out.println(hm);//{null=23, 李四=null}						Hashtable<String, Integer> ht = new Hashtable<String, Integer>();		ht.put(null, 23);		System.out.println(ht);//報異常NullPointerException				ht.put("王五", null);		System.out.println(ht);//同樣也報異常NullPointerException			}}所以我們說HashMap可以存儲null鍵和null值,而Hashtable不可以存儲null鍵和null值。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 常山县| 班玛县| 海伦市| 永和县| 绩溪县| 集安市| 建昌县| 河北省| 寻乌县| 元谋县| 石城县| 安塞县| 博客| 石林| 电白县| 安乡县| 岳西县| 邵阳县| 怀远县| 道真| 昭平县| 鄂托克旗| 如皋市| 贵德县| 龙井市| 峨山| 抚宁县| 板桥市| 临泉县| 沁阳市| 犍为县| 潞西市| 静宁县| 大田县| 海淀区| 烟台市| 雷山县| 灵山县| 高邮市| 林口县| 高邮市|