一、简介
    在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口`java.util.Iterator`。`Iterator`接口也是Java集合中的一员,但它与`Collection`、`Map`接口有所不同,`Collection`接口与`Map`接口主要用于存储元素,而`Iterator`主要用于迭代访问(即遍历)`Collection`中的元素,因此`Iterator`对象也被称为迭代器。

二、定义:
    迭代器:集合有很多种,有些是没有索引的,所以不能有for循环,迭代器是一种通用的从集合中取出元素的方式.
三、常用方法:
    1、boolean hasNext()如果仍有元素可以迭代,则返回 true,用来判断是否集合中还有元素
    2、E next() 获取集合中下一个元素
    3、由于iterator是一个接口,无法实例化对象,需要是使用collection中的方法:
        Iterator<E> iterator()返回在此 collection 的元素上进行迭代的迭代器。
        Iterator<E>也是一个泛型,集合是什么类型,迭代器就是什么类型。
四、增强for循环
    1、增强for循环foreach,它底层也是迭代器,只是使用了for循环的格式。JDK1.5以后出现的。
    2、作用:用来遍历集合或数组;
    3、格式:
        for(数组/集合数据类型 变量名:数组/结合名){
            sout(变量名);
        }

import java.util.ArrayList;
import java.util.Collection;public class Iterator {public static void main(String[] args) {Collection<String> ce = new ArrayList<>();ce.add("张珊");ce.add("李思");ce.add("王武");ce.add("赵柳");ce.add("林奇");System.out.println(ce);System.out.println("==========================");java.util.Iterator<String> it = ce.iterator();while (it.hasNext()){String next = it.next();System.out.println(next);}System.out.println("==========================");for(java.util.Iterator<String> iterator = ce.iterator();iterator.hasNext();){String next = iterator.next();System.out.println(next);}System.out.println("==========增强for循环=========");//增强for循环 ----集合或数组//数组int[] arry =new int[] {1,2,31,43,45};for(int i:arry){System.out.println(i);}//集合ArrayList<String> arryList = new ArrayList<>();arryList.add("maozhedong");arryList.add("zhouenlai");arryList.add("liushaoqi");arryList.add("zhude");for(String str:arryList){System.out.println(str);}}
}

输出:

[张珊, 李思, 王武, 赵柳, 林奇]
==========================
张珊
李思
王武
赵柳
林奇
==========================
张珊
李思
王武
赵柳
林奇
==========增强for循环=========
1
2
31
43
45
maozhedong
zhouenlai
liushaoqi
zhude

048、JAVA的Iterator迭代器相关推荐

  1. java中iterator用法_java_详解Java中Iterator迭代器的用法,迭代器(Iterator)迭代 - phpStudy...

    详解Java中Iterator迭代器的用法 迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为&quo ...

  2. Java中Iterator迭代器详解

    目录 一.Java中Iterator迭代器详解 1.为什么需要迭代器 2.迭代器长什么样子 3.如何使用迭代器 使用步骤: 代码演示: 迭代器可以简化为增强型for循环: 4.Iterator与Lis ...

  3. java之Iterator迭代器用法详细分析(全)

    前言 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价小 单向移动 迭代: ...

  4. Java:Lterator迭代器

    目录 Iterator接口 java.util.Iterator 迭代器的实现原理 for each (内置迭代器) Iterator接口 java.util.Iterator 在程序开发中,经常需要 ...

  5. Java核心API -- 7(Iterator迭代器、Comparable、Comparator比较器)

    1. Iterator迭代器 所有Collection的实现类都实现了iterator方法,该方法返回一个Iterator接口类型的对象,用于实现对集合元素迭代的便利.在java.util包下. 1) ...

  6. Java基础23-集合类2(Set接口,Iterator迭代器)

    一.Set接口简介 根据API,Set接口是一个不包含重复元素的 collection.更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null ...

  7. Java基础篇:Iterator迭代器

    一.什么是Iterator: 迭代器(Iterator)是一个对象,它的工作是遍历并目标序列中的对象,它提供了一种访问一个容器(container)对象中的各个元素的方法,把访问逻辑从不同类型的集合类 ...

  8. java迭代器输入的结果_Java学习之Iterator(迭代器)的一般用法 (转)

    迭代器(Iterator) 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为"轻量级"对象,因为创建它的代价 ...

  9. 深度剖析Java数据结构之迭代器(Iterator)

    一.什么是迭代器 我们知道,JVM是用C/C++编写的.在百度百科中,迭代器是解释是迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定 ...

  10. JAVA day15 Collection(集合)、Iterator迭代器、泛型<E>

    1.Collection(集合) 集合:集合是java中提供的⼀种容器,可以⽤来存储多个数据. 集合与数组的区别: 数组的长度是固定的,集合的长度是可变的. 数组中存储的是同⼀类型的元素,可以存储基本 ...

最新文章

  1. ARM Linux 基于S3C2451的AD9833波形发生器/Linux字符驱动的理解
  2. TinyMCE的使用-安装
  3. minheight能继承吗_CSS 哪些属性默认会继承, 哪些不会继承?
  4. OS之进程管理 --- 死锁
  5. java boxplot_Matlab Boxplots
  6. Buffers, windows, and tabs
  7. 新浪安装weiphp2.0的方法
  8. 2021年中国超大容量耐磨喷油器市场趋势报告、技术动态创新及2027年市场预测
  9. 学习JavaScript数据结构与算法-----pdf 分享
  10. 【福利】小米手机修改MAC地址教程
  11. 实用性室内地图导航软件
  12. 献给盲目追谁IT的管理者的话,转载:活着就是王道---- -一年
  13. while循环语法结构
  14. Excel删除重复值
  15. 唐山盐碱滩成渤海明珠 国稻种芯·中国水稻节:河北曹妃甸大米
  16. PnP-AdaNet学习笔记
  17. 微信终端跨平台组件 Mars 在移动网络的探索和实践
  18. 虚函数原理与虚函数表
  19. 【模型复现】零样本预测文本分类模型——ESM 快速复现模型
  20. R语言中的异常处理和eval函数

热门文章

  1. 加快 apk 的编译速度
  2. 51单片机汇编编程--16位拉幕灯
  3. Esp8266 进阶之路33【大神篇】如何优雅地像乐鑫原厂封装esp8266底层寄存器的逻辑思维,做成自己的静态库库文件,让第三方人使用?
  4. 软件测试周刊(第33期):当夏季的光阴已然流逝
  5. Java日志框架 - JUL使用详解
  6. svn环境搭建 linux
  7. linux连ftp超时,ftp上传超时的一种解决方案
  8. 路科sv练习2-类的继承
  9. mysql存储特殊表情符号_解决mysql存储特殊文字(表情符号)utf8mb4-阿里云开发者社区...
  10. IMO 2017 T1解答