Java中Iterator用法

迭代器(Iterator)

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

Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。

集合中把这种取元素的方式描述在Iterator接口中。

  Java中的Iterator功能比较简单,并且只能单向移动:

  (1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承**

  (2) 使用next()获得序列中的下一个元素。

  (3) 使用hasNext()检查序列中是否还有元素。

  (4) 使用remove()将迭代器新返回的元素删除。

  Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。

 list l = new ArrayList();l.add("aa");l.add("bb");l.add("cc");for (Iterator iter = l.iterator(); iter.hasNext();) {String str = (String)iter.next();System.out.println(str);}/*迭代器用于while循环Iterator iter = l.iterator();while(iter.hasNext()){String str = (String) iter.next();System.out.println(str);}*/

Iterator的接口定义:

public interface Iterator {  boolean hasNext();  Object next();        //需要强制转换成自己需要的类型void remove();
}  

Object next():返回迭代器刚越过的元素的引用,返回值是Object,需要强制转换成自己需要的类型

    boolean hasNext():判断容器内是否还有可供访问的元素

    void remove():删除迭代器刚越过的元素


迭代使用方法:(迭代其实可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类)

for(Iterator it = c.iterator(); it.hasNext(); ) {  Object o = it.next();  //do something
}
________________________________________________________while(iter.hasNext()){String str = (String) iter.next();System.out.println(str);
 

java中Iterator用法总结相关推荐

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

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

  2. Java中Iterator用法

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

  3. Java中Iterator用法整理

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

  4. java中import用法

    java中import用法 单类型导入(single-type-import),例如import java.io.File; 按需类型导入(type-import-on-demand),例如 impo ...

  5. java中extends用法_JAVA的extends用法

    理解继承是理解面向对象程序设计的关键.在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类).在Java中不允许多继承. (1)继承 cla ...

  6. java中continue用法

    java中continue用法 有时强迫一个循环提早反复是有用的,也就是,你可能想要继续运行循环,但是要忽略这次重复剩余的循环体的语句,所以 java提供了 continue 语句.continue ...

  7. java中switch用法举例范围_Java中Switch用法代码示例

    一.java当中的switch与C#相比有以下区别 注:在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样), 在java1.7后 ...

  8. java中nextInt()用法

    java中nextInt用法 功能 函数实现 三级目录 功能 给定一个参数n,nextInt(n)将返回一个大于等于0小于n的随机数,即:0 <= nextInt(n) < n. 函数实现 ...

  9. Java中Iterator类的详细介绍

    迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节. 概述 Java集合框架的集合类,我们有时候称之为容器.容器的种类有很多种,比如ArrayList.Li ...

最新文章

  1. 关于第十六届大学生智能汽车竞赛 华南赛区补赛办法
  2. python3 多级目录建立 os.makedirs()
  3. java中的构造方法,this、super的用法
  4. ITK:斑点Blob
  5. CSS3 选择器——属性选择器
  6. 通过视频着色进行自监督跟踪
  7. CRM reference product的UI界面
  8. 报告PPT--Python程序设计,不仅仅是学习编程(35页)
  9. BZOJ4241历史研究题解--回滚莫队
  10. linux批量重命名脚本,Linux批量命名文件SH脚本整理
  11. [持续更新] Spring Boot -Maven 指令打包相关记录
  12. 后盾网php微博系统,后盾网thinkphp5.0 博客系统实现
  13. shell脚本获取cpu使用率
  14. 蓝桥杯(纯C)比赛--菜鸟级
  15. 笔记:STM32的ADC参考电压与参照电压(电源监测)
  16. 计算机应用程序无响应,电脑上应用程序很容易未响应,怎么办?
  17. 2.3 放大电路的分析方法
  18. kinova-Mico安装与调试
  19. Mac 中 MySQL 的安装与卸载
  20. 常见的TC测试点(持续更新中)

热门文章

  1. flashfxp是ftp软件吗,你知道flashfxp是ftp软件吗
  2. JS合并两个数组的方法分享
  3. 前端面试之事件循环机制
  4. ROC-AUC 浅谈理解ROC曲线和AUC值
  5. 多模态大语言模型综述来啦!一文带你理清多模态关键技术
  6. 基于android手机群删联系人模块的设计与实现 论文,基于Android手机群删联系人模块的设计与实现...
  7. 淘宝API,获取商品详情 购买到的订单详情 添加到购物车 商品上下架 批量上传图片 淘宝客订单查询
  8. webmin虚拟服务器创建,如何在服务器上安装配置Webmin
  9. 聊城大学计算机学院Q,聊城大学计算机学院09—10学年第1学期期末考试2008级1、3班《离散数学》试题(2份)...
  10. Java中byte类型的取值范围