第四堂课(集合框架 set集合)
一、set集合
1.特点(三无产品):
1.无序
2.无下标
3.不能重复
2.增加时如果有重复的数据,后面的会增加不进去
3.set的遍历方式(除了for循环不能,其他都能,因为set集合无下标)
1.foreach遍历
2.Iterator遍历
4.使用set集合存储对象的时候,记得在实体类中重写equals方法,不然比较的是内容,否则比较的是地址(存储对象时,需要重写equals方法)
5.默认对象的hashCode码:完整的类名+@+十六进制的地址
二、equals和==的区别
1.equals比较的是内容
2.==比较的是地址
3.使用equals比较对象(类或者接口)的内容必须要重写
三、sotredSet特点
1.sotredSet:无序 不可重复 无下标
2.sotredSet:按照一定的规则进行排序(默认类型是integer,就从小到大排序)
例如:
for(Integer is:ss) {
System.out.println(is);
}
3.sotredSet:后面重复的会增加不进去
4.java.lang.ClassCastException:类型不匹配(类型转换异常)
5.treeSet是sotredSet的儿子(后者的方法需要前者实现)
6.当sotredSet的数据类型是对象时,必须在实体类中实现Comparable<Student>接口,与此同时还要增加compareTo方法
例如:
7.compareto 用来比较 我与他比
8.sotredSet的两个接口:
1.Comparator<Student> 比较器
2.Comparable<Student> 自然排序
3.如果有自然排序 也有比较器 比较器的优先级别比自然排序高
4.如果没有比较器 默认使用自然排序
5.实例化时
本节课任务:搞懂比较器(Comparator)和自然排序(Comparable)