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的区别:

 

 

 

 

 

  

 

posted on 2020-04-13 15:52  o0孤岛  阅读(121)  评论(0)    收藏  举报