1.2.1 foreach
1.2.2 迭代器
//1) foreach方法遍历
for (Student student : set) {
System.out.println(student);
}
//2) iterator
//获取迭代器方法遍历
Iterator it = set.iterator();
//循环遍历
while(it.hasNext()) {
System.out.println(it.next());
}
1.3 常用实现类
HashSet
TreeSet:根据某种(规则)对里面的元素进行排序
自然比较接口: java.lang.Comparable
比较器: java.util.Comparator
String以AscII码进行比较,返回差值
//TreeSet:按照某种特定的规则对集合中的元素进行排序(升序和降序) //java.lang.Comparable:自然比较接口 //java.util.Comparator:比较器 Setset=new TreeSet<>(new NameComparator()); set.add(new Student(2,"zs",80f)); set.add(new Student(3,"ls",30f)); set.add(new Student(1,"ww",150f)); set.forEach(System.out::println);
NameComparator类
package com.zking.collection02.util; import java.util.Comparator; import com.zking.collection02.entity.Student; public class NameComparator implements ComparatorLinkedHashSet:{ @Override public int compare(Student a, Student b) { return -(a.getSname().hashCode()-b.getSname().hashCode()); } }
1)元素是有顺序的
2)元素是不重复的
3)底层数据结构是按照链表的结构存储的 Linked



