数据结构
文章平均质量分 67
zz--1111
这个作者很懒,什么都没留下…
展开
-
2. 集合
集合1. Arraylist与 LinkedList2. Array 和 ArrayList 有什么区别3. hash冲突4. 解决hash冲突的办法有哪些?HashMap用的哪种?5. 为什么在解决 hash 冲突的时候,不直接用红黑树?而 选择先用链表,再转红黑树?6. ConcurrentHashMap 的实现原理是什么?7. ConcurrentHashMap 的 put 方法执行逻辑是什么?8. ConcurrentHashMap 的 get 方法是否要加锁,为什么?9. get方法不需要加锁原创 2021-09-11 23:08:22 · 87 阅读 · 0 评论 -
常见集合: ArrayList、Vector、LinkList、HashMap
集合一、ArrayList二、Vector三、LinkList四、Connection接口五、List接口六、HashMap一、ArrayList动态扩充数组实现原理:采用动态对象数组,默认构造数组创建了一个空数组(默认大小为0)第一次添加元素,扩容为10,之后的扩充算法:新容量 = 老容量 + 老容量的一半 (1.5倍老容量)动态数组不适合删除、插入(移位)最好存储相同类型的元素,以免类型转换麻烦动态扩充次数过多或影响性能,所以建议在创建ArrayList时给定初始容量线程不安全,适合单原创 2021-08-24 23:12:48 · 142 阅读 · 0 评论 -
红黑树
/** * 1. 定义颜色 * 2. 创建BRNode 结点 * 3. 辅助方法:parentOf(node)、isRed(node)、isBlack(node)、 * setRed(node)、setBlack(node)、isOrderPrint() * 4. 左旋 leftRotate(node)、右旋 rightRotate(node) * 5. 公开插入 insert(K key,V value) * 6. 内部插入 insert(RBNode node)原创 2021-08-24 18:20:17 · 269 阅读 · 0 评论