![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
复习总结
文章平均质量分 79
搁浅沉默
这个作者很懒,什么都没留下…
展开
-
HashMap源码复习之移除节点元素
移除节点元素:final Node<K,V> removeNode(int hash, Object key, Object value, boolean matchValue, boolean movable) { //tab:引用当前hashMap中的散列表 //p:当前node元素 //n:表示散列表数组...原创 2020-03-30 14:19:13 · 319 阅读 · 0 评论 -
HashMap源码复习之树化
树化final void treeifyBin(Node<K,V>[] tab, int hash) { int n, index; Node<K,V> e; /* 如果当前数组为空或者数组的长度小于进行树形化的阈值(MIN TREEIFY_ CAPACITY = 64),就去扩容。而不是将节点变为红黑树。 目的:如果数组很小,那么...原创 2020-03-30 14:18:00 · 479 阅读 · 0 评论 -
HashMap源码复习之扩容方法
扩容方法 //为什么需要扩容 //为了解决哈希冲突导致的链化,影响查询效率的问题,扩容会缓解该问题 final Node<K,V>[] resize() { //oldTab:引用扩容前的哈希表 Node<K,V>[] oldTab = table; //oldCap:表示扩容之前table数组的长度 int...原创 2020-03-30 14:16:44 · 355 阅读 · 0 评论 -
HashMap源码复习之putVal()方法
putVal()方法//hash:key的hash值//key:原始Key//value:要存放的值//onlylfAbsent:如果true代表不更改现有的值//evict:如果为false表示table为创建状态final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boo...原创 2020-03-30 14:14:29 · 295 阅读 · 0 评论 -
HashMap源码复习之基本参数与构造方法
//缺省Table大小static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16//Table最大容量static final int MAXIMUM_CAPACITY = 1 << 30;//缺省负载因子static final float DEFAULT_LOAD_FACTOR = 0.75f...原创 2020-03-30 14:11:15 · 697 阅读 · 0 评论 -
红黑树JAVA代码实现
//手写红黑树package com.nko.tree;/** * 1.创建RBTree,定义颜色 * 2.创建RBNode * 3.辅助方法定义:parentOf(node),isRed(node),setRed(node),setBlack(node),inOrderPrint() * 4.左旋方法定义:leftRotate(node) * 5.右旋方法定义:rightRota...原创 2020-02-20 01:23:11 · 670 阅读 · 0 评论