文章详情页
遍历列表时将元素添加到列表中。(Java)
导读:如何解决遍历列表时将元素添加到列表中。(Java)?Iterator除了以外,您无法在修改集合时使用进行迭代Iterator.remove()。但是,如果使用listIterator()方法,该方法返回ListIterator,并对其进行迭代,则您还有更多要修改的选项。从javadoc中获取add(...
如何解决遍历列表时将元素添加到列表中。(Java)?
Iterator除了以外,您无法在修改集合时使用进行迭代Iterator.remove()。
但是,如果使用listIterator()方法,该方法返回ListIterator,并对其进行迭代,则您还有更多要修改的选项。从javadoc中获取add():
新元素插入到隐式光标之前:…后续调用prevIoUs()将返回新元素
鉴于此,此代码应该可以将新元素设置为迭代中的下一个元素:
ListIterator<T> i;i.add(e);i.prevIoUs(); // returns ei.prevIoUs(); // returns element before e, and e will be next
除了列表开始为空时,这将起作用,在这种情况下,将没有先前的元素。如果存在问题,则必须维护某种标志以指示这种情况。
解决方法我的问题是我想在遍历新元素的同时扩展一个包含新元素的列表,并且希望迭代器继续刚才添加的元素。
根据我的理解,ListIterator.add()会在列表中的当前元素之前而不是之后添加一个元素。是否可以通过其他方式实现这一目标?
标签:
java
相关文章:
1. Java中的枚举。优点?2. vagrant - 使用NFS文件夹作为mysql datadir无法启动mysql的问题?3. Java泛型问题:类“不在类型变量的范围内”错误。4. Java。按值对地图排序5. Java。HSSF。Apache-poi。如何修改代码6. 试图使使用OpenCV的Java应用程序(可执行Jar)可移植。收到不满意的链接错误7. 从Spring MVC XML文件移动到javaconfig。我的数据库XML文件真的让我迷茫了8. css和HTML样式 投票管理系统9. AngularJs。是否可以通过单击取消选择HTML“广播”输入?10. Sys.WebForms.PageRequestManagerServerErrorException:在服务器上处理请求时发生未知错误。”
排行榜