数据结构红黑树和List集合介绍&常用方法
数据结构红黑树
概念:
红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平衡的。
性质:
1、根节点是黑色的
2、每个节点不是红色的就是黑色的
3、红色节点的子节点一定是黑色的
4、红色节点不能相连
5、从任意节点出发,它每一条路径上的黑色节点数目是相同的
这里有一条总结红黑树的顺口溜:
一头一脚黑,
黑连红不连。
插入看叔伯,
删除看兄弟。
List集合介绍&常用方法
又称为容器,用于存储,提取,删除数据。JDK提供的集合都包含在java.util包中。
集合分为collection和Map:
collection
Map
List集合-介绍
java.util.List接口继承自collection 接口,是单列集合的一个重要分支,习惯性地会将实现了List 接口的对象称为List集合。
在List集合中允许出现重复的元素,所有的元素是以一种线性方式进行存储的,在程序中可以通过索引来访问集合中的指定元素。
另外,List集合还有一个特点就是元素有序,即元素的存入顺序和取出顺序一致。
List接口特点∶
1.它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。
2.它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
3.集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
java.util.List接口extends collection接口list接口的特点:
1.有序的集合,存储元素和取出元素的顺序是一致的(存储123取出123)
2.有索引,包含了一些带索引的方法
3.允许存储重复的元素
常用方法
List接口中带索引的方法(特有)
- public void add(int index,E element):将指定的元素,添加到该集合中的指定位置上。- public E get(int index):返回集合中指定位置的元素。
- public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素。
- public E set(int index,E eLement):用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
注意:
操作索引的时候,一定要防止索引越界异常
IndexOutOfBoundsException,索引越界异常,集合会报
ArrayIndexOutOfBoundsException,数组索引越界异常,
StringIndexOutOfBoundsException,字符串索引越界异常