随笔分类 - util
源码分析
摘要:1. LinkedHashMap.Entry LinkedHashMap继承自HashMap,在其内部维护了一个双向链表 2. LinkedHashMap 1' get + afterNodeAccess + accessOrder(true):将被访问的节点移至双向链表尾部 2' newNode、
阅读全文
摘要:1. HashMap.Entry(红黑树节点) 2. 构建TreeMap 3. get 在查找过程中,采用比较器或自然顺序比较节点大小: 1‘ 指定比较器时,优先使用比较器比较节点大小 2' 未指定比较器时,待查找键类型必须实现Comparable接口 4. ceilingEntry和floorEn
阅读全文
摘要:1. 扩容 ArrayList扩容包括ensureCapacity(对外开放)和ensureCapacityInternal(内部隐式调用)两个接口: 1' 两者都调用ensureExplicitCapacity接口进行扩容 2' ensureExplicitCapacity在当前容量 < 指定的最
阅读全文
摘要:1. HashMap 1)get 1‘ 根据key找到映射的bin 2’ 若bin的首个节点是否为待查找节点,则直接返回 3' 若bin为红黑树则在红黑树中查找,若bin为链表则遍历链表 2)put 1‘ 根据key找到映射的bin 2’ 若bin是否为空,则直接添加节点 3' 若bin为红黑树则在
阅读全文
摘要:和AVL树一样,红黑树也是一种自平衡二叉排序树,其定义如下: (1)节点有且只有两种颜色,红色和黑色。 (2)根节点和叶子节点必须是黑色,其中,叶子节点是虚拟存在的空节点(NULL)。 (3)红色节点的两个子节点必须是黑色。 (4)任意节点到叶子节点的路径上,必须包含相同数目的黑色节点。 从红黑树的
阅读全文
浙公网安备 33010602011771号