问题标签 [listiterator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
165 浏览

java - 试图测试 ListIterator 但它进入了无限循环

我正在用 Java 编程我创建了一个类来获取一个迭代器,因为我在这个程序中只使用这个代码的一个列表

然后我尝试用这种方法使用它

每当我将它与我的测试类一起使用时:

它似乎进入了一个无限循环,这是为什么?

0 投票
1 回答
130 浏览

java - 使用 ListIterator 更改 List 中的数据

这是我用来从给定交易构建大型交易的功能。(数据挖掘)

声明databaseprivate List<String[]> database = null;

声明MTdatabaseprivate List<String[]> MTdatabase = null;

在调用此函数之前database具有所有必需的数据并且MTdatabase最初是空的。我从中获取数据database,对其进行修改,然后将其存储在MTdatabase.

我没有修改 中的任何数据database,但我不知道为什么值database会改变。 MTrans在 for 循环中进行了修改,但由于我没有使用itrdb.set(),因此不应在database. 我不想修改database。我试图存储 in 的初始值MTransntrans保持database相同的数据,但ntrans每次更改时MTrans都会更改。代码ntrans显示为注释。

代码有什么问题吗?不想修改怎么办database?有没有办法存储初始值MTrans并在以后使用它?

0 投票
2 回答
141 浏览

c++ - 列表错误上的 C++ 迭代器

我在 C++ 类中有以下内容:在通过调用 isValid() 检查迭代器是否仍然有效后,我想使用迭代器通过调用 getNextQuestion() 函数来一次获取问题列表的一个元素。它给了我以下可怕的错误:


这是我调用这些函数的代码,也许这就是问题所在:

0 投票
1 回答
196 浏览

java - Java LinkedList 节点与添加和删除

我有一个项目列表,我的程序需要一次显示一个项目,用户可以选择转到下一个或上一个项目。

Java 是否具有 LinkedListNode 类,或者是否有具有此类实现的库,以便我可以遍历列表并同时追加或删除元素?我知道 Java 有 listIterator 但我在查看列表时无法修改它(遇到 ConcurrentModificationException)

0 投票
2 回答
595 浏览

java - 如何维护有序链表并在java中添加、删除元素

我想维护一个名为“ClientStatus”的对象列表,其中只包含客户端标识 (id) 和一些时间字段,即与该客户端相关的时间字段。此列表应根据此时间字段按升序排序。我要支持的操作是:

我希望每个新条目都有时间 >= 列表中的最后一个条目,但有可能出现竞争条件,我可能会得到乱序值。所以我认为从最后迭代列表将是最省时的解决方案。

这些是我使用的 DS:

  • LinkedList 和 ListIterator 作为 ListIterator 允许您从末尾迭代元素并在迭代时添加新条目。但是代码看起来很乱:

    假设我的列表有值:2 3 6 7 9 我想加 5

    有一个更好的方法吗?

  • 我也尝试使用 LinkedList 和 Dequeue,但降序迭代器不允许您添加/删除条目。我试图计算索引,但随后 set(index, value) 替换了现有条目。如何在列表中插入条目?

====================== 修订版 2 ========================== ==

根据我决定使用 SortedSet 的共识,如果我编写的代码可以在 Comparator 和 equals 之间的一致性方面进行技术性审查,我将不胜感激。

我在比较 id 的唯一一个客户端 id 列表中不能有多个条目,但是两个不同的客户端可以有相同的时间值。此代码似乎不起作用,添加工作正常但如果我无法仅基于 clientid 删除条目。

0 投票
2 回答
946 浏览

java - Java ListIterator 中的哪个元素被认为是先前的?

我目前正在尝试学习如何实现我自己的 ListIterators。我已经实现了大部分并准备好了,除了我对 previous() 方法感到困惑。按照标准约定,我能否解释一下 previous() 通常是如何解释的。

IE:

根据 Oracles Java Platform 7 API:

E 前一个()

返回列表中的前一个元素并将光标位置向后移动。可以重复调用此方法以向后迭代列表,或与调用 next() 混合以来回遍历。(请注意,交替调用 next 和 previous 将重复返回相同的元素。)

我不太明白的是,如果调用 previous(),它会返回“鱼”还是“猫”。

我以两种方式理解它:

1) 'fish' 是您之前所在的对象

2) 'cat' 是在数字上在 'fish' 索引之前的索引处的对象

如果 previous 返回 'fish',那么无论遍历的方向如何,remove() 实际上都会删除相同的元素吗?

0 投票
3 回答
1202 浏览

javascript - 列表迭代器中的无限循环

我创建了一个列表迭代器,但是当尝试向后遍历一个列表时,循环无限运行。我做错了什么?

0 投票
3 回答
11578 浏览

java - ListIterator.next() 返回 null

我的问题非常非常简单,但是我在网上找到的所有内容都告诉我我的做法是正确的——但我显然误解了一些东西。

我有一个简单的 Java ListIterator,它在 while-hasNext() 循环中为 next() 返回 null。这是我对调试状态的评论的代码:

在我看来,如果没有 next() 对象,则不应进入循环——这就是我使用 hasNext() 检查的原因。我理解错了什么,正确的方法是什么?

0 投票
4 回答
269 浏览

java - List 的元素按什么顺序访问

我正在查看 Java 中的列表和排序。根据文档 aList是对象的有序列表,当对象是标准类时,例如StringInteger它将使用标准比较器进行比较。有几个问题浮现在脑海。

  1. 如果您列出了一些任意对象(不是标准类),您是否必须实现Comparator接口,或者它会依赖toString()

  2. 您是否必须使用 ListIterator 以您需要的顺序遍历列表?

查看文档元素在最后添加到列表中,因此除非您对其进行排序或使用 ListIterator,否则它们不会按顺序排列。

0 投票
3 回答
15585 浏览

delphi - TObjectList 中的 for 怎么办?

我正在尝试使用for in迭代 a TObjectList

它无法编译:

[dcc32 错误] Project1.dpr(15):E2010 不兼容的类型:“TObject”和“Pointer”

似乎 Delphi 的for in构造不处理无类型的、未降级的、TObjectList可枚举的目标。

如何枚举 a 中的对象TObjectList

我现在应该做什么

我目前的代码是:

没有充分的理由,我希望将其更改为:

为什么要使用枚举器?只因。