![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
three_hours
这个作者很懒,什么都没留下…
展开
-
数据结构笔记:Vector类的创建和常见的方法及作用
Vector概念一、Vector的创建二、常用方法及作用(详细看源码) 概念 JDK1.8对于Vector类的继承和实现关系如下 public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable 学习Vector类一定要跟Arraylist类做对比,JDK1.8对于ArrayList类的继原创 2021-01-20 15:01:57 · 535 阅读 · 0 评论 -
数据结构笔记:栈的创建和栈的常用方法及作用
栈概念一、栈的创建二、栈的常用方法及作用 概念 基本思想就是:先进后出 一、栈的创建 Stack<Integer> stack = new Stack<>(); 二、栈的常用方法及作用 栈的父类Vector public class Stack<E> extends Vector<E> { 属于栈自己的方法 Stack<Integer> stack = new Stack<>(); /**原创 2021-01-20 14:11:35 · 246 阅读 · 0 评论 -
数据结构笔记:队列的常用函数及作用
队列概念一、创建一个队列二、常用的队列方法及作用 概念 队列的基本思想就是先进先出 一、创建一个队列 //常见的创建 Queue<T> queue = new LinkedList<>(); 二、常用的队列方法及作用 Queue<Integer> queue = new LinkedList<>(); /** * 如果可以在不违反容量限制的情况下立即将指定的元素插入此队列,则在成功时返回true,原创 2021-01-20 12:03:50 · 339 阅读 · 0 评论 -
JDK1.7扩容时为什么会产生并发死链问题
问题: 1、JDK1.7为啥为产生并发死链问题 并发,即多线程同时访问HashMap 需要知道的一些前提知识: 1、 JDK1.7是采用有插法进行节点的添加的 2、 HashMap的扩容长度为原来的一倍 JDK1.7单线程下的扩容: 1、进行节点的转移前,需要把数组长度变为原来的一倍 2、节点(Entry)转移的源代码 void transfer(Entry[] newTable, boolean rehash) { int newCapacity = newTable.length;原创 2020-12-07 10:06:55 · 661 阅读 · 1 评论 -
红黑树的性质及添加一个节点到红黑树的步骤及代码实现
红黑树的概念 红黑树是一种含有红黑节点并且能够自平衡的二叉查找树 红黑树的五大性质(重点): 1、 每个节点要么是黑色,要么是红色; 2、 根节点是黑色; 3、 每个叶子节点都是(NIL)都是黑色的(都是null,虚拟出来的); 4、 每个红色节点的两个子节点一定是黑色的; 5、任意一节点到每个叶子节点的路径都包含数量相同的黑节点(黑色完美平衡)。 红黑树的添加: 1、 红黑树的添加分为两个步骤: 第一,因为红黑树本身也是二叉查找树,所以我们每次插入节点首先按二叉查找树的插入方法进行插入; 第二,因为原创 2020-12-03 13:29:25 · 400 阅读 · 0 评论