浅谈Map map = new HashMap()
1.Map
在JavaSE中,对Map的实现主要包括: HashMap, TreeMap, HashTable 和 LinkedHashMap
Map map = new HashMap();
Map"key-value”键值对"接口,HashMap是它的实现类
这里其实Map是你自己定义的一个接口,你调用这个接口来实现你要完成的动作,这样别人直接用你这个接口就可以了,而不用关心你具体是怎么实现这个接口的,假如以后有变动的话,你也不用再去管这个接口,只需要改你的实现类就可以了,方便维护,隔离性强。
2.HashMap
HashMap继承于AbstractMap类,实现了Map接口。
HashMap就是一个散列表,它是通过“拉链法”解决哈希冲突。(哈希冲突:当我们对某个元素进行哈希运算,得到一个存储地址,然后要进行插入的时候,发现已经被其他元素占用了)也就是数组+链表的方式
HashMap map = new HashMap();
而这个 你定义的就是一个实现类,你把这个实现类给别人用,如果出现问题和改动的话,那么程序就无法运行,凡是用到这个类的地方都要修改,维护起来很麻烦,而上面的接口,你只需要改你实现这个接口的实现类就可以了。这样就是你说的降低了藕合性。
而且用Map的好处是new后面可以跟其他的实现,不一定是HashMap 可以跟其他的 用HashMap声明的话,new后面貌似就只能跟HashMap了
补充:hashmap和hashtable区别?
https://blog.****.net/weixin_42153410/article/details/89702954