我是靠谱客的博主 自然哑铃,最近开发中收集的这篇文章主要介绍java for迭代iterator,java之Iterator迭代器 增强for循环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.集合在存储元素时,如果未明确数据类型,可以存储object类型(各种数据),但在提取时,需要用一种通用的方法获得元素。这就是Iterator接口中的hasNext()/next()方法。

322570cbd604b425f0939bd0ea96603a.png

然而Iterator接口未有具体的实现类,但collection接口中有一个抽象的iterator()方法,可以得到 Iterator对象。并且collection所有子类都实现了这个方法。

1 //collection 继承Iterable中的Iterator的抽象方法;

2 Collection arr= new ArrayList();

3 arr.add(6);

4 arr.add(8);

5 arr.add(9);

6 //获取迭代器对象 泛型依据集合的类型 arr可以代表不同的对象,方便使用

7 Iterator i=arr.iterator();//实际调用的ArrayList中已经重写的方法

8 //如果没有元素,仍获取的话,会有异常

9 while(i.hasNext()){

10 //注:如果需要改变集合的长度,使用for循环

11 //遍历时,不能添加删除元素

12 System.out.println(i.next());//没出现一次。next(),执行一次

13 }

注意:在进行集合元素取出时,如果集合中已经没有元素了,还继续使用迭代器的next方法,将会发生java.util.NoSuchElementException没有集合元素的错误。

collection声明的对象,存储的数据类型为Object类型了,集合中其实存储的是对象的地址。

集合可以存储基本数据类型,实际存储的是基本数据类型的包装类。

所以使用Collection声明后的引用类型,【存储单一对象时,必须进行向下转型,得到各种数据类型】或者【使用<>来控制迭代元素的类型在collection多态创建对象时和创建迭代器时<>控制元素类型】。

2.增强for循环:遍历集合和数组,有无下标均可,其实是Iteger迭代器。

1 //增强for循环,本质是一个迭代器 参数为你要迭代的集合相关内容

2 //最好是引用数据类型,基本数据类型自动装拆箱

3 for(int i:arr){

4 System.out.println(i);

5 }

注意:新for循环必须有被遍历的目标。目标只能是Collection或者是数组。

建议:遍历数组时,如果仅为遍历,可以使用增强for如果要对数组的元素进行 操作,使用老式for循环可以通过角标操作。

标签:arr,java,Iterator,迭代,元素,数据类型,集合

来源: https://www.cnblogs.com/mlf19920916/p/12109781.html

最后

以上就是自然哑铃为你收集整理的java for迭代iterator,java之Iterator迭代器 增强for循环的全部内容,希望文章能够帮你解决java for迭代iterator,java之Iterator迭代器 增强for循环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部