Java源码阅读
文章平均质量分 67
程序媛粒子
这个作者很懒,什么都没留下…
展开
-
Java HashMap resize()中oldTab迁移到newTab的理解
由第2点可知,假设现在容量为16,扩容为原来的两倍,则hash掩码应该为0000 1111,扩容后,hash掩码应该为0001 1111,可见就只是多了一位,因而,oldTab中,若这一位的值为0,则在新表和旧表中位置的下标应该是一样的;是对旧表的每一个桶内的所有结点,把它们分成两类,一类为(e.hash & oldCap) == 0【也就是这一位值为0 情况】和(e.hash & oldCap) == 1,然后对这两类进行在新表中分别映射即可。对于容量为其他值,全部道理都是一样的。原创 2022-10-21 15:40:13 · 208 阅读 · 0 评论 -
JAVA源码阅读——迭代器相关接口、Collection、AbstractCollection
extenditeratorandsizemethods.modifiableadditionally[也要搞上面的]overrideadditeratorremovemethod./*//唯一的构造函数。(用于子类构造函数的调用,通常是隐式的。} // 查询操作 public abstract Iterator < E > iterator();原创 2022-10-11 21:13:00 · 171 阅读 · 0 评论