HashMap的特性

Map集合的特点

  1. Map是一个双列集合,将键映射到值的对象
  2. Map集合的数据结构,只针对键有效,跟值没有关系
  3. 一个映射不能包含重复的键,每个键最多只能映射到一个值

HashMap集合的数据结构是什么?

  1. 哈希表结构:数组 + 链表
    - 通过哈希表结构配合对象的hashCode和equals方法就可以保证键的唯一性
    - 键的位置如果储存的是自定义类型,就需要重写hashCode和equals方法

HashMap和HashTable的区别是什么?

  1. HashMap是jdk1.2版本出现的,允许储存null键和null值
    - 不同步(线程不安全):效率高
  2. HashTable是jdk1.0版本出现的,不允许储存null键和null值
    - 同步(线程安全):效率低

jdk8版本之后,在哈希表结构中引入了二叉树,提高了查询的效率。

你可能感兴趣的:(随手记)