总结一下Map的三个实现类HashMap、LinkedHashMap、TreeMap的消耗时间,例子通过用String为键,索引到Integer值和倒过来建立Map,不难发现如下规律:
Types | HashMap | LinkedHashMap | TreeMap |
---|---|---|---|
Map<Integer,String> | 112ms,数字递增排序 | 2ms,数字递增排序 | 1ms,数字递增排序 |
Map<String,Integer> | 2ms,插入顺序 | <1ms,插入顺序 | <1ms,字母表递增排序 |
TODO: 源码解析
不多说,直接上代码:
import java.util.*;
public class MapDeatil {
public static void testMap1(){
Map<Integer, String> hashMap=new HashMap<>();
hashMap.put(1,"Smith");
hashMap.put(6,"Ant");
hashMap.put(3,"AHS");
hashMap.put(8,"JKA");
hashMap.put(5,"BVmm");
long preTime=System.currentTimeMillis();
hashMap.forEach((num,name)-&