1. 程式人生 > >hashMap和hashtable的速度比較

hashMap和hashtable的速度比較

複習了下集合,在網上看了好多有關集合的例子和概念,發現對於hashM和hashtable的速度誰快的問題有不同的答案,只能自己驗證一下了,下面是我寫的一個測試例子;


package collection.deng;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Hashtable;

public class collection {
	public static void main(String[] args) {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date tab1 = new Date();
		System.out.println("Hasetable測試開始時間" + format.format(tab1));
		addHashtable();
		Date tab2 = new Date();
		System.out.println("Hasetable測試結束時間" + format.format(tab2));
		System.out.println("用時" +(tab2.getTime()-tab1.getTime()));
		
		
		Date map1 = new Date();
		System.out.println("HashMap測試開始時間" + format.format(map1));
		addHashMap();
		Date map2 = new Date();
		System.out.println("HashMap測試結束時間" + format.format(map2));
		System.out.println("用時" +(map2.getTime()-map1.getTime()));
	}
	
	public static void addHashtable(){
		Hashtable<String, String> table = new Hashtable<String, String>();
		for(int i=0;i<10000;i++){
			table.put(i+"key", i+"value");
		}
	}
	
	public static void addHashMap(){
		HashMap<String, String> map = new HashMap<String, String>();
		for(int i=0;i<10000;i++){
			map.put(i+"key", i+"value");
		}
	}
}



執行上面例子得到結果為:

Hasetable測試開始時間2016-08-06 21:05:11
Hasetable測試結束時間2016-08-06 21:05:11
用時32
HashMap測試開始時間2016-08-06 21:05:11
HashMap測試結束時間2016-08-06 21:05:11
用時15



事實證明還是hashMap更快

相關推薦

面試知識點—HashMapHashtable比較

HashMap和Hashtable的比較也是Android面試過程中考察Java基礎知識的常見問題,面試者常用它來考驗程式設計師是否能夠正確的使用集合類解決問題。所以在參加任何Java相關的面試之前,都應該好好準備一下這一道面試題。 我們先來介紹一下兩者的相同點,然後再比較一下不同之處。 相同

HashMapHashtable比較

在面試的時候,java集合最容易被問到的知識就是HashMap與Hashtable的比較,通常我們也很容易回答出一下幾點: 1、HashMap是執行緒不安全的,在多執行緒環境下會容易產生死鎖,但是單執行緒環境下執行效率高;Hashtable執行緒安全的,很多方

hashMaphashtable速度比較

複習了下集合,在網上看了好多有關集合的例子和概念,發現對於hashM和hashtable的速度誰快的問題有不同的答案,只能自己驗證一下了,下面是我寫的一個測試例子; package collectio

HashMapHashtable的區別

性能 刪除 影響 之間 fail 創建 允許 hashmap 以及 HashMap和Hashtable都實現了Map接口,但決定用哪一個之前先要弄清楚它們之間的分別。主要的區別有:線程安全性,同步(synchronization),以及速度。 HashMap幾乎可以等價於

淺析HashMapHashtable的區別

兩個 ble dem pub 實現 value key-value span div HashMap和Hashtable兩個類都實現了Map接口,二者保存鍵值對(key-value對); HashMap和HashTable區別 第一,繼承的父類不同。HashMap繼承自A

HashMapHashtable存放null

war read ash nal style () exce point entry Hashmap是可以放key為null的,Hashtable不能放key為null。hashtable放key為null會報空指針異常 1. hashmap put方法源碼 public

java讀書筆記---HashMapHashTable

多個 大小 c語言 先來 方法 內部實現 計算 iterator put 首先來說說HashMap,HashMap是一個類,Java中所有的類都繼承自一個Object類。Object類中定義了hashCode()方法,換言之,任何類都會有這個hashCode()方法。 因此

hashmaphashtable

key值 tor xtend 對象 extend 不能 num table 解決 在這裏幫大家總結一下hashMap和hashtable方面的知識點吧: 1. 關於HashMap的一些說法: a) HashMap實際上是一個“鏈表散列”的數據結構,即數組和鏈表的結合體

hashMap hashTable

輕量 ron ash 實體 方法 value inter bject class hashMap非常好用,它的Key-Value剛好對應object的屬性和值,可以免去創建一些Model實體類 hashMap和HashTable作用好像比較相似,下面是些比較

java 的HashMapHashTable的區別?

鏈表結構 線程 數組 操作 map 內部實現 鏈表 hashmap lin  1.HashMap和HashTable的區別?    HashMap不是線程安全的它的操作方法沒有進行同步處理    HashMap允許key為空        HashTable是線程安全的它的

HashMap HashTable 區別

AC n) ati 只需要 試圖 external str enume 時間 來源:http://www.importnew.com/7010.html HashMap和Hashtable的區別 HashMap和Hashtable都實現了Map接口,但決定用哪一個之前先要弄

HashMapHashtable有什麽區別?

map tab ble 線程 table ash 什麽 shm 多線程 HashMap和Hashtable都是實現Map接口的,但是:   1.HashMap允許鍵和值都是null的,而Hashtable不允許鍵和值為null   2.Hashtable是同步的,而Hash

HashMap HashTable 到底哪不同 ?

時間 txt instance 數據 dset 修改 keyset adding ould HashMap 和 HashTable 到底哪不同 ? 2017/05/29 | 分類: 基礎技術 | 1 條評論 | 標簽: HASHMAP, HASHTABLE

HashMapHashtable區別

-- 其它 serial on() 很大的 程序 fas cloneabl was 1. 類定義 這個從源碼中可以直接看出來,HashMap 繼承自 AbstractMap,而 Hashtabl 繼承自 Dictionary。 public class HashMap<

談談我所理解的HashMapHashTable

cti null 線程安全 單線程 end bst 不同 extend 環境 HashMap和HashTable之間的聯系和區別如下: 1.HashMap幾乎可以等價於Hashtable,但是它們之間繼承不同:HashMap extends Ab

HashMapHashtable的區別 學習筆記

ble new map 面試題 學習筆記 ring println 線程 1.2 /** * @param args * 面試題 * HashMap和Hashtable的區別 * 共同點: * 底層都是哈希算法,都是雙列集合

HashMap HashTable 哪不同 ?

程式碼版本 JDK每一版本都在改進。本文討論的HashMap和HashTable基於JDK 1.7.0_67 1. 時間 HashTable產生於JDK 1.1, 而HashMap產生於JDK 1.2。

【java】 HashMap的工作原理+HashMapHashtable的區別+HashMapHashSet的區別

本文由 ImportNew - 唐小娟 翻譯自 Javarevisited。 HashMap的工作原理是近年來常見的Java面試題。幾乎每個Java程式設計師都知道HashMap,都知道哪裡要用HashMap,知道Hashtable和HashMa

Collection與Collections、ArrayListVector、HashMapHashtable(面試常用)

Collections與Collection 1. Collections是java.util下的類,它包含有各種有關集合操作的靜態方法2. Collection是java.util下的介面,它是各種集合結構的父介面   ArrayList和Vector1. 同步性: Vector是執行緒安全

HashMapHashTable的異同點

HashMap和HashTable異同點 底層資料: HashMap和HashTable底層資料結構相同,都是以陣列加連結串列形式儲存資料。 繼承關係: HashMap和HashTable都實現了Clonable ,Map,Serializable介面。 但不同的是HashTable