一、Set
特点:无序、对象不能重复
遍历方法:
1.foreach
2.迭代器
Set<Student> set=new HashSet<>();
set.add(new Student(1,"zs",80f));
set.add(new Student(2,"ls",30f));
set.add(new Student(3,"ww",150f));
set.add(new Student(1,"zs",120f));
//equals方法默认比较的是Object类型,而Object是引用类型,比较的是内存地址
//重写equals方法。先比较hashcode值,再比较equals
// hashcode值相同,则比较equals
// hashcode值不相同,则不比较equals
//1) foreach方法遍历
for (Student student : set) {
System.out.println(student);
}
//2) iterator
//获取迭代器方法遍历
Iterator<Student> it = set.iterator();
//循环遍历
while(it.hasNext()) {
System.out.println(it.next());
}
常用实现类
HashSet
TreeSet:根据某种(规则)对里面的元素进行排序
自然比较接口: java.lang.Comparable
比较器: java.util.Comparator
String以AscII码进行比较,返回差值
二、LinkedHashSet
1)元素是有顺序的
2)元素是不重复的
3)底层数据结构是按照链表的结构存储的 Linked