Map:key-value接口
HashMap, HashTable
相同:
Map接口的实现类
散列表:用key计算hashcode,再计算出index,插入index对应的链表
区别:
HashTable线程安全,HashMap不行
HashTable 键值都不可以为null,HashMap都可以
- 初始化的区别
HashMap<String, Object> map = new HashMap<String, Object>();
Map<String, Object> map = new HashMap<String, Object>();
两种情况下都是同样的HashMap对象。
区别在于两种初始化方式得到的对象接口不一样。第一种接口是hashmao,第二种是map.
第二种接口的好处在于,在提供这种基础接口类型的对象/方法给别人使用的时候,你可以随意的更改对象的实现类,而不会影响别人的使用。
具体例子:
https://stackoverflow.com/questions/1348199/what-is-the-difference-between-the-hashmap-and-map-objects-in-java
网友评论