JDK7与JDK8之间HashMap的区别?

詹学伟
詹学伟
发布于 2024-04-27 / 2 阅读
0
0

JDK7与JDK8之间HashMap的区别?

  1. JDK8中新增了红黑树,JDK8是通过数组+链表+红黑树来实现的;

  2. JDK7中链表的插入是用的头插法,而JDK8中则改为了尾插法;

  3. JDK8中的因为使用了红黑树保证了插入和查询了效率,所以实际上JDK8中的Hash算法实现的复杂度降低了;

  4. JDK8中数组扩容的条件也发了变化,只会判断是否当前元素个数是否查过了阈值,而不再判断当前put进来的元素对应的数组下标位置是否有值;

  5. JDK7中是先扩容再添加新元素,JDK8中是先添加新元素然后再扩容。


评论