随笔分类 - java / 集合
对HashMap的理解
摘要:jdk8之后的hashMap基于数组+链表+红黑树结构构成 hashMap初始化长度为16,之后的每一次扩容都翻倍扩。 hashMap内部维护了一个增长因子,默认为0.75;集合中保存的元素的个数 >= 数组长度 * 0.75后就会扩容 每次在调用map集合的put方法时,首先根据键的hashCod
集合框架部分源码分析
摘要:ArrayList ArrayList add方法源码分析 public boolean add(E e) { // 1 ensureCapacityInternal(size + 1); // Increments modCount!! // 先将e保存到数组下标为size处,然后在自加,表示数组
HashMap底层原理
摘要:正文 说明:本篇主要以JDK1.8的源码来分析,顺带讲下和JDK1.7的一些区别。 HashMap存储结构 这里需要区分一下,JDK1.7和 JDK1.8之后的 HashMap 存储结构。在JDK1.7及之前,是用数组加链表的方式存储的。 但是,众所周知,当链表的长度特别长的时候,查询效率将直线下降