概述:HashMap 散列表,无序,即不记录插入顺序,存储key-value映射,根据keyde HashCode值存储数据,具有很快的访问速度,线程非同步。
与Hashtable的区别:
1.线程安全与同步:HashMap是非同步的,不能在多个线程之间共享。
HashTable是同步的,线程安全,可以在多个线程之间共享。
2.速度:由于线程安全性和同步性。单线程环境中,Hashtable比HashMap慢得多。因此,如果不需要同步,并且HashMap仅由一个线程使用,那么它的性能优于Hashtable,建议使用HashMap。
3.HashMap允许空作为键和值,Hashtable不允许。
4.HashMap不能保证映射得顺序在一段时间内保持不变。
常用方法介绍:
构造:HashMap<Integer,String> sites=new HashMap<Integer,String>();
初始化的一种文艺方法:(做题中遇到过,比较常见的用法)
HashMap<Character,String[]> map=new HashMap<>(){
{//这是一种初始化方法,文艺写法,利用了匿名内部类的思想。
put('2',new String[]{"a","b","c"});