JAVA学习之List、Set、数据结构、Collections
第一章 数据结构
1、栈 先进后出原则
2、队列 先进先出原则
3、数组 特点:查询快,增删慢
4、链表 特点:查询慢,要从头查起;增删快。
分为:
单向链表 没有顺序
双向列表 有顺序
5、红黑树
红黑树的约束:
1. 节点可以是红色的或者黑色的
2. 根节点是黑色的
3. 叶子节点(特指空节点)是黑色的
4. 每个红色节点的子节点都是黑色的
5. 任何一个节点到其每一个叶子节点的所有路径上黑色节点数相同
红黑树的特点:
速度特别快,趋近平衡树,查找叶子元素最少和最多次数不多于二倍
第二章 List集合
2.1 接口的特点:
1. 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、
22、33的顺序完成的)。
2. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
3. 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
2.2 List接口中常用的方法:

第三章 List的子类
3.1 ArrayList集合
数据存储的结构是数组结构
3.2 LinkedList集合
数据存储的结构是链表结构

第四章 Set接口
Set接口中的元素是无序的。
4.1 HashSet集合的介绍

4.2 HashSet集合存储数据的结构 --- (哈希表)
哈希表的底层采取的是数组 + 链表/红黑树(当链表的长度超过8)的结构。大大减少查找时间

4.3 HashSet存储自定义类型元素
需要重写对象中的hashCode和equals方法,建立自己的比较方式,才能确保HashSet中的对象唯一。否则会造成对象里面数据要是相同也会放在同一个HashSet里面。
4.4 LinkedHashSet
在保证数据唯一的同时,还是数据储存还是有序的。
第五章 Collections
5.1常用功能

用Collections集合工具类,进行sort方法排序时,第二个参数是Comparator<? super T>
Comparable 和Comparator的区别:

浙公网安备 33010602011771号