当前位置: 首页 > news >正文

java----数据结构与算法----集合元素的遍历:迭代器--------JavaAPI:java.util.Iterator+java.util.ListIterator...

概述:

    • 迭代器用于集合元素的遍历
    • 迭代器有两种,分别是Iterator和ListIterator 
      • Iterator可以用于任何类型集合的遍历
      • ListIterator只能用于List集合的遍历
      • ListIterator接口继承了Iterator接口,所以前者拥有后者所定义的所有成员函数,同时,ListIterator还添加了一些具有List集合特性的操作函数,如按照索引访问集合元素、替换/添加集合元素等等

java.util.Iterator 

    • /**
       * @author chen
       * @date 20170310
       * @description 这个程序讲述java.util.Iterator接口的使用方法
       * java.util.Iterator接口
       *         概述:
       *                 1)Iterator专门用于集合元素的遍历
       *                 2)由于Iterator只是一个接口,所以下面所列出的成员函数都是没有方法体的
       *         构造函数:
       *             Iterator是一个接口,所以没有构造函数
       *         成员函数:
       *             【1】boolean hasNext();//看集合中是否还有下一个元素,若有,则返回true
       *             【2】E next();//返回集合中的下一个元素
       *             【3】void remove();//在集合中删除这次迭代所指向的元素
       * */
      package javaAPI_dataStructure;
      
      import java.util.Iterator;
      
      public class JavaAPI_Iterator {
          public static void main(String[] args){
              Iterator it;
          }
      }

java.util.ListIterator

    • /**
       * @author chen
       * @date 20170310
       * @description 本程序讲述ListIterator接口的用法
       * java.util.ListIterator接口
       *         概述:
       *             1)ListIterator接口继承了Iterator接口,所以它拥有Iterator接口中定义的所有成员方法
       *             2)Iterator可以用于所有类型集合的遍历,但是ListIterator只能用于List及其实现类类型的集合的遍历
       *             3)由于ListIterator是一个接口,所以下面所列出的所有函数都是没有方法体的
       *         构造函数:
       *             由于ListIterator是一个接口,所以它没有构造函数
       *         成员函数:
       *             【概述】由于ListIterator继承了Iterator接口,所以它拥有Iterator接口中所定义的所有成员方法,
       *                 下面所列出的函数中,带有“继承自Iterator”的,都表示该函数是由其父接口Iterator继承而来的
       *“继承自Iterator接口”【1】boolean hasNext();//如果List集合中还有下一个元素则返回true
       *“继承自Iterator接口”【2】E next();//返回集合中下一个元素
       *                        【3】boolean hasPrevious();//反向遍历List集合的时候,如果前面还有元素,就返回true
       *                        【4】E previous();//结合【3】中函数,用于List集合的反向遍历,这个函数用于反向遍历时返回集合元素的值
       *                        【5】int nextIndex();//返回下一个元素的索引,返回值取值范围为1~List.size()
       *                        【6】int previousIndex();//返回前一个元素的索引,返回值取值范围为-1~List.size()-2
       *“继承自Iterator接口”【7】void remove();//删除集合元素
       *                        【8】void set(E e);//替换集合中的元素
       *                    【9】void add(E e);//在当前索引位置的前面一个位置    或者   当前索引位置的后面一个位置    添加一个新的元素到集合中
       *                                      //至于是在当前索引位置的 之前 还是 之后 添加新元素,则要看你现在是顺序遍历还是倒序遍历
       *                                    //如果是{@link #next},则要在当前位置的前一个位置处插入
       *                                    //如果是{@link #previous},则是要在当前位置的后一个位置处插入
      */
      package javaAPI_dataStructure;
      
      public class JavaAPI_ListIterator {
      
      }

       

        

    

转载于:https://www.cnblogs.com/lxrm/p/6529690.html

相关文章:

  • Leetcode 423. Reconstruct Original Digits from English
  • JAVA加密类的使用
  • javascript数组去重复
  • Java中Collections的frequency方法
  • ng之ng-app指令
  • 使用命令wsimport构建WebService客户端
  • 【14点正式开始】技术与架构,解析如何将大数据最快落地到实践
  • Apache2.2和Apache2.4中httpd.conf配置文件 权限的异同
  • 分布式事务:不过是在一致性、吞吐量和复杂度之间,做一个选择
  • flask, SQLAlchemy, sqlite3 实现 RESTful API 的 todo list, 同时支持form操作
  • windows下npm默认的全局路径
  • 113期:电子书《阿里巴巴技术实战2016年刊》重磅发布,免费下载!
  • 硬币翻转问题,区间操作
  • java设计模式之建造者模式
  • jQuery-切换事件2
  • 4个实用的微服务测试策略
  • javascript面向对象之创建对象
  • Leetcode 27 Remove Element
  • MySQL的数据类型
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • opencv python Meanshift 和 Camshift
  • Puppeteer:浏览器控制器
  • webpack+react项目初体验——记录我的webpack环境配置
  • 彻底搞懂浏览器Event-loop
  • 电商搜索引擎的架构设计和性能优化
  • 复杂数据处理
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 前端
  • 听说你叫Java(二)–Servlet请求
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • (23)Linux的软硬连接
  • (HAL库版)freeRTOS移植STMF103
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (理论篇)httpmoudle和httphandler一览
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (转)用.Net的File控件上传文件的解决方案
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET 8.0 发布到 IIS
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net(C#)中String.Format如何使用
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NetCore部署微服务(二)
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .Net小白的大学四年,内含面经
  • /etc/sudoers (root权限管理)
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • ::before和::after 常见的用法