1://迭代器
TreeSet<Integer> ts = new TreeSet<>();
ts.add(3);
ts.add(9);
ts.add(4);
System.out.println(ts);
//遍历集合(三种遍历)
//迭代器
Iterator<Integer> it = ts.iterator();
while(it.hasNext()){
int i = it.next();
System.out.println(i);
}
2://增强for遍历
//增强for遍历
for (Integer i : ts) {
System.out.println(i);
}
3://lambea表达式遍历
//lambea表达式遍历
//匿名内部类就是一个没有名字的类,但是并不是整体,真正没有名字的类是{
// @Override
// public void accept(Integer integer) {
// System.out.println(integer);
// }
// }
// 而前面的new创建的就是这个没有名字的类的对象,这个没有名字的类实现了前面的Consumer接口,
// 而实现类实现一个接口需要重写里面所有的抽象方法,所有在没有名字的类里面要重写Consumer接口的抽象方法accept,
//形参i依次表示集合里的每一个元素
ts.forEach(new Consumer<Integer>() {
@Override
public void accept(Integer i) {
System.out.println(i);
}
});
4:lambda表达式省略遍历
//lambda表达式省略
ts.forEach( integer -> System.out.println(integer) );