初识HashMap之前的List,讲了ArrayList、LinkedList,最后讲到了CopyOnWriteArrayList,就前两者而言,反映的是两种思想:(1)ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢(2)LinkedList以链表形式实现,顺 ...
初识HashMap
之前的List,讲了ArrayList、LinkedList,最后讲到了CopyOnWriteArrayList,就前两者而言,反映的是两种思想:
(1)ArrayList以数组形式实现,顺序插入、查找快,插入、删除较慢
(2)LinkedList以链表形式实现,顺序插入、查找较慢,插入、删除方便
那么是否有一种数据结构能够结合上面两种的优点呢?有,答案就是HashMap。
HashMap是一种非常常见、方便和有用的集合,是一种键值对(K-V)形式的存储结构,下面将还是用图示的方式解读HashMap的实现原理,
四个关注点在HashMap上的答案
关 注 点 | 结 论 |
HashMap是否允许空 | Key和Value都允许为空 |
HashMap是否允许重复数据 | Key重复会覆盖、Value允许重复 |
HashMap是否有序 | 无序,特别说明这个无序指的是遍历HashMap的时候,得到的元素的顺序基本不可能是put的顺序 |
HashMap是否线程安全 | 非线程安全 |
添加数据
首先看一下HashMap的一个存储单元Entry:
static class Entry<K,V> implements Map.Entry<K,V> { final K key; V value; Entry<K,V> next; int hash; ...}
原标题:图解集合4:HashMap
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。