22_迭代器
迭代器:
迭代器Iterator 常用的API方法
boolean hasNext() 判断是否还有下一个元素
E next() 获取容器中的下一个元素
void remove() 删除迭代的最后一个元素
如果想要遍历容器获取容器中的每一个元素,而容器中没有索引,此时java有提供给了
迭代器操作来访问容器中的每一个元素
迭代:
在取元素之前先要判断集合中有没有该元素,如果有就把这个元素取出来,继续再判断,
如果还有就再次取出来。一直把集合中的所有元素全部取出来,这种取出方式专业术语俗称”迭代“。
举例:
//模拟场景
Collection<String> coll = new ArrayList<>();
coll.add("小明");
coll.add("小刘");
coll.add("小王");
coll.add("小孙");
coll.add("小丽");
//对于Collection集合容器没有索引
Iterator<String> iterator = coll.iterator();//获取迭代器
//获取集合中第一个元素 可以用while循环
String str1 = iterator.next();
System.out.println(str1);
//获取集合中第二个元素
String str2 = iterator.next();
System.out.println(str2);
//获取集合中第三个元素
String str3 = iterator.next();
System.out.println(str3);
//删除该元素(删除上一次查看的元素)
iterator.remove();//小王
//查看coll集合中的元素
System.out.println(coll);
//下边此时调用非法异常
// 如果尚未调用 next 方法,或者在上一次调用 next 方法之后已经调用了 remove 方法。就不能二次调用
//iterator.remove();
//可以使用循环来迭代取出集合中的每一个元素
//hasNext() ----> 判断是否有下一个元素
while (iterator.hasNext()) {//循环条件
//从集合中取出下一个元素
String next = iterator.next();
System.out.println(next);


浙公网安备 33010602011771号