- HashMap
- 特点
- 原理示意图
- 常用方法
- 遍历元素
- LinkedHashMap
1.世界上查询速度最快的数据结构 2.增删速度也很快 3.加载因子是集合存放的元素数量和散列数组长度的比值,建议加载因子 0.75
,超过会自动扩容并且重新散列(旧的数据重新计算数组索引值) 4.散列数组初始的长度是 16
5.无序存放 6.底层使用数组+单向链表(JDK 1.7 之后的版本,散列桶的元素超过 8
个,会换成红黑树数据结构) 7.数组虽然有索引值,但是存放的时候不是直接根据索引值的自然顺序存放,而是通过散列算法计算出元素的数组索引值后再根据索引值来存放,查询元素也一样。所以不能根据索引值直接存放和查询元素。也没有与索引值相关的方法。 8.数组+链表(或者红黑树)的整体数据结构也叫散列表或哈希表 9.key不允许重复,可以保存一个null;value可以重复,且可以保存多个null
public void clear()
,从此映射中移除所有映射关系(可选操作)。 public boolean containsKey(Object key)
,如果此映射包含指定键的映射关系,则返回 true
。 public boolean containsValue(Object value)
,如果此映射将一个或多个键映射到指定值,则返回 true
。 public Set entrySet()
,返回此映射中包含的映射关系的 Set
视图。 public boolean equals(Object o)
,比较指定的对象与此映射是否相等。 public V get(Object key)
,返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
。 public int hashCode()
,返回此映射的哈希码值。 public boolean isEmpty()
,如果此映射未包含键-值映射关系,则返回 true
。 public Set keySet()
,返回此映射中包含的键的 Set
视图。 public V put(K key,V value)
,将指定的值与此映射中的指定键相关联,如果 map
中没有指定的 key
,返回空值,否则返回被覆盖的 value
。 public void putAll(Map