了解HashMap
HashMap的底层是数组+链表+红黑树。
HashMap根据键的hashcode值来存储数据,能根据键快速访问,但遍历顺序是不确定的。
HashMap根据hashCode方法和equals方法来判断键是否重复,所以我们必须确保作为键的类重写了Object类的hashCode()和equals()这两个方法。
HashMap非线程安全,如果要满足线程安全,可以用Collections的synchronizeMap方法使HashMap具有线程安全的能力,或者使用ConcurrentHashMap。
补充:Collections是java.utils包下的包装类,提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
ConcurrentHashMap在java.utils.concurrent并发工具包下,引入分段锁概念。