Map集合的特点
- Map是一个双列集合,将键映射到值的对象
- Map集合的数据结构,只针对键有效,跟值没有关系
- 一个映射不能包含重复的键,每个键最多只能映射到一个值
HashMap集合的数据结构是什么?
- 哈希表结构:数组 + 链表
- 通过哈希表结构配合对象的hashCode和equals方法就可以保证键的唯一性
- 键的位置如果储存的是自定义类型,就需要重写hashCode和equals方法
HashMap和HashTable的区别是什么?
- HashMap是jdk1.2版本出现的,允许储存null键和null值
- 不同步(线程不安全):效率高 - HashTable是jdk1.0版本出现的,不允许储存null键和null值
- 同步(线程安全):效率低
jdk8版本之后,在哈希表结构中引入了二叉树,提高了查询的效率。