HashMap集合原理以及遍历方式(自用)
HashMap底层原理
jdk1.7(7)之前是数组 + 链表,jdk1.8(8)之后是数组 + 链表 + 二叉树(红黑树)。
HashMap和Hashtable的相同点
都是双列集合,一个键对应一个值。
都是键不能重复,但是值可以重复。
HashMap和Hashtable的区别
HashMap是JDK1.2版本出现的,允许存储null键和null值,HashMap是线程不同步的(也就是线程不安全),效率高。
Hashtable是JDK1.0出现的,不允许存储null键和null值,HashTable是线程同步的(也就是线程安全),效率低。
map集合的 4 种遍历方式
第一种:根据键找值方式遍历。
第二种:获取所有的键值对对象集合,通过迭代器遍历。
第三种:获取所有的键值对对象集合,通过增强for遍历。
第四种:通过Map集合中的values方法,拿到所有的值。