一、集合的排序
1.1 集合的排序
集合的工具类java.util.Collections提供了一个静态方法sort,可以对List集合
- 进行自然排序,即:从小到大
- 除了自然排序之外还有反转、乱序方法
1.2 排序自定义元素的集合
sort方法要求集合必须实现Comparable,否则编译不通过。
当我们调用某一个API时,该API要求我名为其修改其他额外的代码时,这样的操作称为侵入性。
修改的代码越多,侵入性越强。侵入性不利于系统框架的健康,不利于程序的维护,应当尽量避免。
此时可以应对一个lambda重构一个匿名内部类
1.3 排序字符串
String本身实现了Comparable接口,比较规这为按照字符的Unicode编码的大小对比,先看首字符,如果一样再看第二个字符。对于中文而言,几乎没有规律可言
二、队列
2.1 单端队列
队列是经典的数据结构,可以保存一组元素,但是存取元素必须遵循先进先出原则
java.util.Queue接口,队列接口,继承自Collection。
常用实现类:java.util.LinkedList
2.2 双端队列
java.util.Deque 接口 双端队列。Deque接口继承自Queue接口。双端队列的
特点是队列的两端都可以进行入队操作。
实现类:java.util.LinkedList
三、栈结构
栈结构,栈是数据经典的结构之一,可以保存一组元素,但是存取元素必须遵循先进后出原则
- 使用栈一般是为了实现:后退、前进这样的功能