栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Java中迭代列表的方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Java中迭代列表的方法

三种形式的循环几乎相同。增强

for
循环:

for (E element : list) {    . . .}

根据Java语言规范,其作用与显式使用带有传统循环的迭代器相同

for
。在第三种情况下,只能通过删除当前元素来修改列表内容,然后,仅当你通过
remove
迭代器本身的方法进行操作时,才能删除列表内容。使用基于索引的迭代,你可以自由地以任何方式修改列表。但是,添加或删除当前索引之前的元素可能会导致循环跳过元素或多次处理同一元素;进行此类更改时,你需要适当地调整循环索引。

在所有情况下,

element
都是对实际列表元素的引用。没有一种迭代方法可以复制列表中的任何内容。内部状态的更改
element
将始终在列表上相应元素的内部状态中显示。

本质上,只有两种方法可以遍历列表:使用索引或使用迭代器。增强的for循环只是Java 5中引入的语法快捷方式,以避免显式定义迭代器的繁琐工作。对于这两种款式,你可以拿出本质琐碎的变化使用for,while或do while块,但他们都归结为同样的事情(或者说,两件事情)。

编辑:正如@ iX3在注释中指出的那样,你可以

ListIterator
在迭代时使用a 设置列表的当前元素。你将需要使用
List#listIterator()
而不是
List#iterator()
来初始化循环变量(显然,必须将其声明为
ListIterator
而不是
Iterator
)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379248.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号