java.util.ListIterator

列表迭代器并不持有当前元素的引用,其持有的游标是位于列表连个元素之间。可以通过调用next()或者previous()返回列表中的元素。一个拥有n个元素的列表拥有n+1个游标位置,示意图如下:

这里写图片描述

注意:remove和 set(Object)方法并不是以迭代器的游标为准,而是以最后一次调用迭代器的next()或者previous()方法的返回的元素为准。

基础方法


1.boolean hasNext();

当在迭代器正向遍历仍有可访问的有效元素时,则返回true,换句话说,如果调用next()方法可以返回一个有效元素时,则会返回true,否则返回false

2.E next();

返回迭代器正向访问时的下一个元素,并将迭代器游标进行自增操作。我们可以通过循环调用这个方法达到遍历列表中的目的。同时,我们也可以调用previous()方法来逆向遍历列表。当我们交替调用next()previous()时,迭代器将返回相同的元素。

3.boolean hasPrevious();

当迭代器逆向遍历仍有可以访问的有效元素时,则返回true。也就是说,当调用方法previous()仍然可以返回一个有效元素时,则返回true

4.E previous();

返回逆向遍历列表的下一个元素,并将迭代器的游标进行自减操作。

5.int nextIndex();

返回下一次调用next()时返回的元素的下标。当列表迭代器到达列表末尾时,则会回列表长度。

6.int previousIndex();

返回下一次掉调用previous()时返回的元素的下标。当列表迭代器到达列表头部时,则返回-1。

7.void remove();

删除最后一次调用next()或者previous()返回的元素。调用该方法有两个注意点:

  1. 每次调用next()previous()后,仅能调用一次本方法;
  2. 调用本方法前,不可调用add(E)方法;
8.void set(E e);

替换最后一次调用next()或者previous()返回的元素。在调用本方法前,不可调用add(E)remove()方法。

9.void add(E e);

在列表中插入一个新元素。如果next()可以访问有效元素,则将元素插入到调用next()方法返回的元素之前。即:如果previous()可以访问有效元素,则将元素插入到调用previous()方法返回的元素之后。当列表为空时,则插入的元素为列表中唯一的元素。新元素的插入位置为当前迭代器指定的游标之前,即:插入元素后,调用next()返回元素不受影响,而调用previous()函数,则会返回刚刚插入的新元素。调用这个方法后,会使调用nextIndex()previousIndex()的结构都增大1。插入元素前后的示意图如下:

这里写图片描述

这里写图片描述

转载于:https://www.cnblogs.com/czcys/p/6214422.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

保姆级C语言版高斯坐标正算反算倾情奉献!

文章目录 正反算原理速递C语言正反算实现坐标正算坐标反算扩展阅读: 【小程序】坐标正算神器V1.0(附C/C#/VB源程序) 测量人看过来:多种语言编写的测量坐标反算神器附源码(C#/VB) 正反算原理速递 已知边长和方位角,由已知点计算待定点的坐标,称为坐标正算。已知两点坐标…

C语言试题164之求定积分

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:利用梯形…

我的jekyll配置和修改

主要记录使用jekyll搭建博客时的一些配置和修改。 注意&#xff1a; >使用时请删除{和%以及{和{之间的空格。 预览文章 source ~/.bash_profile jekyll server添加about me 边栏 参考the5fire的技术博客在index.html页面加入如下代码&#xff1a; <section> <h4>…

[转]白话阿里巴巴Java开发手册高级篇

不久前&#xff0c;阿里巴巴发布了《阿里巴巴Java开发手册》&#xff0c;总结了阿里巴巴内部实际项目开发过程中开发人员应该遵守的研发流程规范&#xff0c;这些流程规范在一定程度上能够保证最终的项目交付质量&#xff0c;通过在时间中总结模式&#xff0c;并推广给广大开发…

C语言试题165之求三色旗问题

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:有一根绳…

spring boot微服务通用部署启动脚本

2019独角兽企业重金招聘Python工程师标准>>> 通用springboot微服务启动、停止脚本。 #!/bin/bash # # chkconfig: - 20 80 # description: Starts and stops the App. # author:vakingeENVdev RUNNING_USERvakinge ADATEdate %Y%m%d%H%M%S APP_NAMEpassport-serve…

day10 多媒体(文字 图片 音频 视频)

1计算机表示图形的几种方式bmp:以高质量保存 用于计算机jpg:以良好的质量保存 用于计算机或者网络png:以高质量保存图片大小的计算公式&#xff1a;图片的总像素*每个像素的大小 (多出的一点是图片的信息)单色&#xff1a;每个像素最多可以表示2种颜色 要么是黑要么是…

VB实现6大排序算法---动态过程展示(建议收藏)

VB实现6大排序算法&#xff1a;插入排序、基数排序、快速排序、希尔排序、选择排序、归并排序。可以随机生成指定个数的数据&#xff0c;显示排序过程&#xff0c;给出排序结果&#xff0c;计算排序算法消耗的时间。 生成随机数&#xff1a; 排序结果&#xff1a; 插入排序&…

C# 实现 Actor并发模型 (案例版)

啥是Actor模型Actor (英语翻译 演员) 这个概念要回溯到面向对象程序设计的本身上来&#xff0c;更偏向于现实世界&#xff0c;现实世界就是由单个个体&#xff08;人&#xff09;与其他个体或(人&#xff09;通讯&#xff08;消息&#xff09;组成的现实世界&#xff0c;所以&a…

oracle--number

1. oracle的number类型是oracle的内置类型之一&#xff0c;是oracle的最基础数值数据类型。在9iR2及其以前的版本中只支持一种适合存储数值数据的固有数据类型&#xff0c;在10g以后&#xff0c;才出现了两种新的数值类型&#xff0c;即推出本地浮点数据类型(Native Floating-P…

超详细C语言版数据结构:图的深度优先遍历(推荐收藏)

文章目录一、邻接矩阵存储图的深度优先遍历过程分析二、结果分析三、C语言编程实现图的深度优先遍历四、图的遍历及其应用一、邻接矩阵存储图的深度优先遍历过程分析 对图1这样的无向图&#xff0c;要写成邻接矩阵&#xff0c;则就是下面的式子&#xff1a; 一般要计算这样的问…

Navicat Premium 64 bit 12.1.25

Navicat Premium可让你以单一程序同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库&#xff0c;是一个可多重连接的数据库管理工具&#xff0c;它让管理不同类型的数据库更加方便。 官方下载地址&#xff1a;https://www.navicat.com.cn/download/…

C语言试题166之整数逆序输出

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:将一个从…

[JMX一步步来] 7、用JDK5.0的JConsole来连接MBean

前面所有看效果都是通过Html网页来看的。JDK5.0自带了一个jmx客户端&#xff0c;叫jconsole&#xff0c;位于c:\jdk\bin\jconsole.exe。我们来用用这个客户端来连接Mbean Server。一、vm参数方式1、还是用第一篇的那个HelloAgent&#xff0c;修改HelloAgent&#xff0c;将第一句…

记一次 .NET 某新能源系统 线程疯涨 分析

一&#xff1a;背景 1. 讲故事前段时间收到一个朋友的求助&#xff0c;说他的程序线程数疯涨&#xff0c;寻求如何解决。等我分析完之后&#xff0c;我觉得这个问题很有代表性&#xff0c;所以拿出来和大家分享下&#xff0c;还是上老工具 WinDbg。二&#xff1a;WinDbg 分析 1…

【原创】请避免GO语言中的携程空跑(CPU突然激增)

其实GO语言从1.6版本开始非常不错了&#xff0c;GC性能优化非常到位&#xff0c;并且各种并行设计比从新实现一套C版本的确是方便不少。 语言包也很多&#xff0c;库也相对稳定&#xff0c;完全可以适用于生产环境。 本文主要是给刚刚入门新手注意一个携程空跑的问题&#xff0…

在Linux上启动oracle 11g OEM

[rootfmw ~]# su - oracle[oraclefmw ~]$ emctl start dbconsole转载于:https://blog.51cto.com/weichanglong/1762783

[转]ES7、ES8、ES9、ES10新特性大盘点

ES7、ES8、ES9、ES10新特性大盘点 本文转自&#xff1a;https://mp.weixin.qq.com/s/8bov6788ivV0sHzmwrn5lw 以下文章来源于前端工匠 &#xff0c;作者浪里行舟君 前端工匠 我是浪里行舟&#xff0c;Github博客4000star作者&#xff0c;致力于打造一系列能够帮助初中级工程师…

热榜!!!数据结构与算法:C语言版---数组与稀疏矩阵---强势来袭!

数组是各种计算机语言中经常使用到的重要数据结构&#xff0c;一般的说&#xff1a;在内存中申请一片连续地址的存储空间、存储这些数、就称为数组。 在C语言中&#xff0c;申请连续的存储空间是很容易的事情&#xff0c;但难在多维数组的组织、以及数组数据的压缩上&#xff…

C语言试题167之字符串加密和解密算法

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:在本实例…