小
小宅
V1
2023/03/12阅读:9主题:默认主题
set && TreeSet
栈是一种什么模型?
先进后出
队列是一种什么模型?
队列是一种数据先进先出的模型
数组是一种什么模型?
数组是一种,查询快,增删慢的模型
链表是一种什么模型?(单向链表)
链表是一种增删快, 查询慢的模型
linkedList 是链表模型
泛型使用的地方
-
类后面 (泛型类) -
方法声明上 (泛型方法) -
接口后面(泛型接口)
集合类体系结构

set 集合特点
-
可以去除重复 -
存取顺序不一致 -
没有带索引的方法, 不能通过for循环,和 索引操作
TreeSet 集合特点
-
可以去除重复 -
没有带索引的方法, 不能通过for循环,和 索引操作 -
可以将元素按照规则进行排序
比较器排序Comparator的使用
-
TreeSet 的带参构造方法使用的是比较器排序 -
比较器排序就是让集合构造方法接收Comparator,进行重写 -
重写方法时,一定要注意排序规则必须按照要求的主要条件和次要条件来写
自然排序


如果要排序需要重写
compareTo方法
public int compareTo(Student o) {
int result = this.age - o.age
return result
}
HashSet
-
底层数据结构是哈希表 -
不能保证存储和取出的顺序完全一致 -
没有带索引的方法 -
元素唯一
hash 值

hash 表
-
jdk 8 之前采用的是数组 + 链表 -
jdk 8 之后采用了 数组 + 链表 + 红黑树 进行实现

快捷键
双击shift // 搜索类 command + option + m // 提出方法
作者介绍
小
小宅
V1