Set集合
Set集合概述和特点
- 元素存取无序
- 没有索引、只能通过迭代器或增强for循环遍历
- 不能存储重复元素
//创建集合对象
Set<String> set = new HashSet<String>();
//添加元素
set.add("hello");
set.add("world");
set.add("java");
//不包含重复元素的集合
set.add("world");
//遍历
for(String s : set) {
System.out.println(s);
}
HashSet集合保证元素唯一性源码分析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7WDHSDHj-1602745480589)(C:\Users\Baymax\AppData\Roaming\Typora\typora-user-images\image-20201015144837266.png)]
比较器排序Comparator的使用
//要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序
//创建集合对象
TreeSet<Student> ts = new TreeSet<Student>(new Comparator<Student>() {
@Override
public int compare(Student s1, Student s2) {
//this.age - s.age
//s1,s2
int num = s1.getAge() - s2.getAge();
int num2 = num == 0 ? s1.getName().compareTo(s2.getName())
: num;
return num2;
}
});