Set概述
特点:无序、无下标、元素不可重复。 //和Collection一模一样
方法: 只有Collection的方法。
增、删、遍历、判断与collection一致。
Set实现类
1,HashSet(重点)
1,存储结构:哈希表(数组+链表+红黑树)(JDK1.8之后,之前没有红黑树)
2,存储过程简述
- 基于hashCode计算元素存放位置。
- 当元素的hashCode相同时,判断equals(),如果为True,拒绝存入。
3,遍历操作
for循环遍历+增加for循环遍历+迭代器遍历
2,TreeSet
1,特点
- 基于排列顺序实现元素不重复。
- 实现SortedSet接口,对集合元素自动排序。
- 元素对象的类型必须实现Comparable接口,指定排序规则。
- 通过CompareTo方法确定是否为重复元素。
2,存储结构:红黑树
3,小应用-Comparator 实现定制比较器
// 重写compare
@override
public int compare(Person o1, Person o2){
int n1 = o1.getAge()-o2.getAge();
int n2 = o1.getName().comareTo(o2.getName());
return n1 == 0 ? n2 : n1;
}
Comments | 0 条评论