一.Collection的遍历方式
1.迭代遍历
2.增强for遍历
3.Lambda表达式遍历
二.List集合和Set集合
List系列集合:添加的元素是有序,可重复,有索引。
Set系列集合:添加的元素是无序,不重复,无索引。
三.迭代器遍历
1.概念
代码的意思,通过iterator方法获取一个迭代器对象,默认指向0索引处。
hasNext()判断当前的位置是否有元素,如果有返回true,没有返回false。
next()方法获取元素,移动指针。
2.代码演示
// 1.创建集合并添加元素
Collection<String> coll = new ArrayList<>();
coll.add("aaa");
coll.add("bbb");
coll.add("ccc");
coll.add("ddd");
// 2.获取迭代器
Iterator<String> it = coll.iterator();
// it.hasNext判断是否有元素
while (it.hasNext()) {
String str = it.next();
// next方法的两件事情,获取元素移动指针
System.out.println(str);
}
3.细节
1.报错noSuchElementException:没有这个元素
while (it.hasNext()) {
String str = it.next();
// next方法的两件事情,获取元素移动指针
System.out.println(str);
}
// 1.当上面结束之后,迭代器的指针已经指向了最后没有元素的位置
// System.out.println(it.next()); //NoSuchElementException
// 迭代器遍历完毕,指针不会复位
System.out.println(it.hasNext());
2.迭代器遍历完毕,指针不会复位
// 迭代器遍历完毕,指针不会复位
System.out.println(it.hasNext());
// 如果我门要继续第二次遍历集合,只能再次获取一个新的迭代器对象
Iterator it2 = coll.iterator();
while (it2.hasNext()) {
String str = it.next();
System.out.println(str);
}