概述
集合中使用迭代器
<1>迭代器和集合的关系: 迭代器是操作集合的第二种方式,后期可以延展使用到很多地方,并且存在一个升级版内容【增强for循环】
迭代器和集合本身有着密切关系,首先迭代器的获取,就是通过集合对象,得到对应当前集合的迭代器;
获取迭代器的方法:Iterator<E> iterator();
获取迭代器对象,泛型对应的具体数据类型和集合中约束的泛型具体数据类型一致;
<2>迭代器操作使用到的方法:
boolean hasNext();
判断当前集合中是否可以继续得到元素,能否继续遍历;
E next();
①获取迭代器当前指向的元素;
②将迭代器指向下一个元素;
void remove();
删除通过next方法获取到的元素;
【注意事项】
①remove方法只能删除next方法获取到元素;
②remove方法只能在next方法之后执行,且不能跨过一个next执行;
③没有next不能使用remove;
class Panda{
public static void main(String[] args) {
//使用迭代器操作集合
Collection<String> list = new ArrayList<>();
list.add("小哈");
list.add("小金");
list.add("小花");
list.add("小黄");
list.add("小撒");
System.out.println("原始list:"+list);
//获取对应当前集合的迭代器对象
//集合中保存的元素是什么类型,迭代器操作元素就是什么类型
//迭代器在获取过程中,默认执行集合中的第一个元素
Iterator<String> iterator = list.iterator();
//hashNext() 判断当前集合是否可以继续获取到元素
System.out.println("演示hashNext()方法:"+iterator.hasNext());
//next() 方法 获取迭代器当前指向的元素并将迭代器指向下一个元素
System.out.println("演示next()方法:"+iterator.next());
System.out.println("演示next()方法:"+iterator.next());
//remove() 方法 删除通过next() 方法获取到的元素
System.out.println("remove()执行");
iterator.remove();
System.out.println("操作后list:"+list);
}
}
循环+迭代器联合操作集合
class Panda{
public static void main(String[] args) {
//使用迭代器操作集合
Collection<String> list = new ArrayList<>();
list.add("小哈");
list.add("小金");
list.add("小花");
list.add("小黄");
list.add("小撒");
System.out.println("原始list:"+list);
//获取对应当前集合的迭代器对象
//集合中保存的元素是什么类型,迭代器操作元素就是什么类型
//迭代器在获取过程中,默认执行集合中的第一个元素
Iterator<String> iterator = list.iterator();
//使用循环与迭代器,删除掉集合中所有元素
//hashNext() 判断当前集合是否可以继续获取到元素
//如果不用hasNext() 方法进行判断当集合中不可以继续获取到元素的时候,调用next() 方法会报错
//NoSuchElementException
while(iterator.hasNext()){
//next() 方法 获取迭代器当前指向的元素并将迭代器指向下一个元素
iterator.next();
//remove() 方法 删除通过next() 方法获取到的元素
iterator.remove();
System.out.println("操作后list:"+list);
}
}
}
最后
以上就是害羞小蘑菇为你收集整理的71.集合中使用迭代器;循环+迭代器联合操作集合;的全部内容,希望文章能够帮你解决71.集合中使用迭代器;循环+迭代器联合操作集合;所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复