package com.haoran.Collection.map;
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
import java.util.Hashtable;
public class MapA {
public static void main(String[] args) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
Date date1= new Date();
for (int i = 0; i < 1000000; i++) {
map.put(i, i);
}
Date date2 = new Date();
System.out.println("HashMap的插入时间:");
System.out.println(date2.getTime()-date1.getTime());
Map<Integer, Integer> map1 = new Hashtable<Integer, Integer>();
Date date3= new Date();
for (int i = 0; i < 1000000; i++) {
map1.put(i, i);
}
Date date4 = new Date();
System.out.println("HashTable的插入时间:");
System.out.println(date4.getTime()-date3.getTime());
//write
write();
//read
read();
}
private static void write() {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
Date date1= new Date();
for (int i = 0; i < 1000000; i++) {
map.put(i, i);
}
Date date2 = new Date();
System.out.println("HashMap的插入时间:");
System.out.println(date2.getTime()-date1.getTime());
Map<Integer, Integer> map1 = new Hashtable<Integer, Integer>();
Date date3= new Date();
for (int i = 0; i < 1000000; i++) {
map1.put(i, i);
}
Date date4 = new Date();
System.out.println("HashTable的插入时间:");
System.out.println(date4.getTime()-date3.getTime());
}
private static void read() {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < 10000000; i++) {
map.put(i, i);
}
Date date1= new Date();
for (Integer key : map.keySet()) {
map.get(key);
}
Date date2 = new Date();
System.out.println("HashMap的读取时间:");
System.out.println(date2.getTime()-date1.getTime());
Map<Integer, Integer> map1 = new Hashtable<Integer, Integer>();
for (int i = 0; i < 10000000; i++) {
map1.put(i, i);
}
Date date3= new Date();
for (Integer key : map1.keySet()) {
map1.get(key);
}
Date date4 = new Date();
System.out.println("HashTable的读取时间:");
System.out.println(date4.getTime()-date3.getTime());
}
}
1、Map中,HashMap具有超高的访问速度,如果我们只是在Map 中插入、删除和定位元素,而无关线程安全或者同步问题,HashMap 是最好的选择。
2、如果考虑线程安全或者写入速度的话,可以使用HashTable
3、如果想按怎么存的顺序怎么取,比如队列形式,排排队。 那么使用LinkedHashMap吧,怎么用怎么爽
4、如果需要让Map按照key进行升序或者降序排序,那就用TreeMap吧
转载于:https://my.oschina.net/u/1399594/blog/805198