Java集合

 

数据结构

栈stack:[先进后出]
	又称堆栈,他是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加 查询 删除等操作,栈的入口和出口都是栈的顶端位置
压栈:就是存元素,把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置.
弹栈:就是取元素,把栈的顶端位置元素取出,栈中已有元素依次向栈顶方向移动一个位置.

队列

队列queue:[先进先出]
	简称队,它同堆栈一样,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除.
	队列的入口和出口各占一侧.

数组

数组Array:[查询快,增删慢]
	是有序的元素序列,数组是在内存中开辟了一段连续的空间,并在此空间存放元素.

链表

链表Linked:[查询慢,增删快]
	由一系列节点node(链表中每一个元素称为一个节点)组成,节点可以在运行时动态生成,每一个节点包括两个部分,一个存储数据元素的数据域,另一个是存储下一个节点地址的指针域,链表结构单向链表和双向链表
[查询慢]:想查找某个元素,需要通过连接的节点,依次向后查找指定元素
[增删快]:想增加删除某个元素,只需要修改连接下一个元素的地址即可

二叉树

二叉树binary tree:
	是每个节点不超过2的有序数(tree)
	二叉树是每个节点最多有两个子数的数结构.
	顶上的叫根节点,两边被称为左子树和右子树.
红黑树是二叉树的一个特列:
	1.节点可以是红色的或者黑色的
	2.根节点是黑色的.
	3.叶子节点(特指空节点)是黑色的.
	4.每一个红色节点的子节点都是黑色的.
	5.任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同
红黑树的特点:[速度特别快,趋近平衡树,查找叶子元素最少和最多次数不多于二倍]

关键字

final关键字

final:最终的,表示不可被改变,可以用来修饰类 方法 和变量
 类:被修饰的类,不能被继承
 方法:被修饰的方法,不能被重写
 变量:被修饰的变量,不能被重新赋值
final修饰局部变量时,修饰基本数据类型只能赋值一次,不能重新赋值,但是在循环中修饰基本数据类型,每一次循环都是一次新的变量,是可以被编译通过的
final修饰引用数据类型只能指向一个对象,地址无法再更改,但可以更改对象内部成员变量的值
final修饰成员变量,涉及到初始化问题,初始化方式只能二选一(显式初始化-成员变量赋值 构造方法初始化)
final修饰的常量名称,一般都有书写规范,所有字母都大写

this关键字