一、Set集合
存储元素的特点:1.无序不重复 (不代表随机)
2.允许null值,只能有一个
常用的实现类:HashSet和TreeSet
HashSet:底层实现方式是哈希表,没有顺序
备注:HashSet如何保证数据不重复?
在添加数据的时候先获取对象的哈希值,然后再获取其地址值,看该对象有无该对象存在,有则放弃添加,无则添加。保证元素不重复。
TreeSet:底层实现方式是平衡二叉树,存储数据有顺序,不重复(左中右)
二、Comparable接口
此接口强行对实现它的每个类的对象进行整体排序。默认的排序方法称为自然排序,我们可以通过重写该接口中的comparatTo()方法自定义排序方法。只需类实现该接口重写该方法。
三、队列
Queue:队列, 先进先出
Deque:双端队列 先进后出
备注:Deque即可做队列
面试题:1,2,3,4,5这5个数据一次入栈,可能出栈的顺序
A 1,2,3,4,5 B 5,4,3,2,1
C 3,2,1,4,5, D 3,1,2,5,4