lterator方法讲解

迭代器(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);}*/

(1)Object next(): 返回要访问的下一一个元素。如果到达集合结尾,则抛出NoSuchElementException异常。
(2) void remove():删除上次访问返回的对象。本方法必须紧跟在一-个元素的访问后执行。如果上次访问后集合已被修改,方法将抛出legalStateException。“Iterator中删除操作对底层Collection也有影响。’ ,迭代器是故障快速修复(fail-fast)的。这意味着,当另一个线程修改底层集合的时候,如果您正在用Iterator遍历集合,那么Iterator就会抛出ConcurrentModificationException 或者(另一种RuntimeException异常)异常并立刻失败。

lterator方法讲解相关推荐

  1. python列表方法语句_Python中列表和元组的相关语句和方法讲解

    列表(list): 首先,列表属于序列,那么序列类型可用如下内建函数-- list(iter):把可迭代对象转换为列表. str(obj):把obj对象转换为字符串,即用字符串来表示这个对象. tup ...

  2. Nginx访问控制_IP访问控制(http_access_module)原理、局限性、解决方法讲解

    Nginx访问控制_IP访问控制(http_access_module)原理.局限性.解决方法讲解 参考文章: (1)Nginx访问控制_IP访问控制(http_access_module)原理.局限 ...

  3. Py之pandas:pandas的read_excel()函数中各参数说明及函数使用方法讲解

    Py之pandas:pandas的read_excel()函数中各参数说明及函数使用方法讲解 目录 pandas的read_excel()函数中各参数说明及函数使用方法讲解 read_excel()函 ...

  4. linux的python2.7的paramiko_Python使用paramiko操作linux的方法讲解

    paramiko介绍 paramiko是一个基于python编写的.使用ssh协议的模块,跟xshell和xftp功能类似,支持加密与认证,可以上传下载和访问服务器的文件. 可以利用paramiko模 ...

  5. java 语言如何判断素数_C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  6. 小米手机系统服务组件是干什么的_怎么查看小米手机MIUI系统的基本功能-小米手机MIUI系统基础功能查询方法讲解...

    小米手机是国产品牌手机中口碑较好的手机之一,受到大家的喜爱,配置功能丰富,价格实惠.亲们或许都不知道怎么查看小米手机MIUI系统的基本功能,小编很高兴为大家解决这个问题,接下来就为大家奉上小米手机MI ...

  7. 【转】Nginx服务器的反向代理proxy_pass配置方法讲解

    [转]Nginx服务器的反向代理proxy_pass配置方法讲解 转自:http://www.jb51.net/article/78746.htm 就普通的反向代理来讲 Nginx的配置还是比较简单的 ...

  8. C语言循环结构素数判断,C语言实验之判断素数(循环结构java)方法讲解

    C语言实验之判断素数(循环结构java)方法讲解 Problem Description 从键盘上输入任意一个正整数,然后判断该数是否为素数. 如果是素数则输出"This is a prim ...

  9. 计算机c盘丢失,电脑C盘丢失的视频文件怎么恢复?方法讲解,轻松搞定

    电脑C盘丢失的视频文件怎么恢复?在日常的工作以及生活当中,有很多的传统媒体文件充斥着.例如:闲暇时,会找一些直播视频来放松自己.工作中,会找一些网络课程来提升自己.但是,在此过程中也会因为一些失误,导 ...

最新文章

  1. Qt编程之通过鼠标滚轮事件缩放QGraphicsView里面的Item
  2. Java异常实战——OutOfMemoryError
  3. 实现键盘录入的第二种方式。。。。。
  4. pve安装黑群晖直通硬盘_在Proxmox VE(PVE)安装黑群晖
  5. metaWeblog 相关的参数
  6. css就近原则_细品100道CSS知识点(上)「干货满满」
  7. python计算excel crc_python实现计算资源图标crc值的方法
  8. js 高级 prototype
  9. XML+Application来编写计数器(二)
  10. 2021-11-23日win10更新bug:共享打印机无法连接的修复
  11. 从零开始用Kotlin结合Jetpack写一个五子棋
  12. 将assets文件转为byte[]
  13. html+盒子+边距,盒子模型、边框、边距
  14. 百度统计后台页面点击图提示无法建立连接
  15. html图片快速轮播特效代码,轻松实现javascript图片轮播特效
  16. 由和与加数进行凑数的遍历算法
  17. 今天14:00 | NeurIPS 专场六 青年科学家专场
  18. 大学生计算机技能应用大赛含金量,计算机设计大赛含金量
  19. 如何寻找基因的启动子
  20. 日期时间选择器 DatePicker

热门文章

  1. [转]SQL Server 数据库规范
  2. java spring源码_剑指Java自研框架,决胜Spring源码
  3. UMLChina建模竞赛第3赛季第4轮:“答题抽奖”建模
  4. C#设计模式之代理模式(一)
  5. flutter 资料整理
  6. 【JMeter】JMeter简介
  7. uplload 通关纪实 pass1
  8. matlab函数重名,matlab无法定义具有重复名称 f 的函数。
  9. 把Sqlite当嵌入式KV数据库用
  10. 科普:QUIC协议原理分析