当前位置: 首页 > 面试题库 >

迭代器具有.next()-是否可以获取上一个元素而不是下一个元素?

贺飞
2023-03-14
问题内容

我有一个在HashMap上使用的迭代器,并且保存并加载了该迭代器。有没有办法用迭代器在HashMap中获取上一个密钥?(java.util.Iterator)

更新资料

我将其另存为Red5连接中的属性,然后将其重新加载以在我停止的地方继续工作。

另一个更新

我正在遍历HashMap的键集


问题答案:

正如其他人指出的那样,它并不直接,但是例如,如果您需要访问一个先前的元素,则可以轻松地将其保存在单独的变量中。

T previous = null;
for (Iterator<T> i = map.keySet().iterator(); i.hasNext();) {
    T element = i.next();

    // Do something with "element" and "previous" (if not null)

    previous = element;
}


 类似资料:
  • 问题内容: 我正在尝试将for循环转换为功能代码。我需要展望一种价值,也要展望一种价值。可以使用流吗?以下代码将罗马文本转换为数字值。不确定带有两个/三个参数的reduce方法是否可以在这里提供帮助。 问题答案: 不,至少在流中使用流是不可能的。流API从处理元素的顺序中抽象出来:流可以并行或以相反顺序处理。因此,流抽象中不存在“下一个元素”和“上一个元素”。 您应该使用最适合此工作的API:如果

  • 问题内容: 假设我们有这个流 我想在地图中保存几对相邻的字符串,其中第一个以“ err”开头。 我想到的就是这样 但是我对它并不完全满意,主要有两个原因 我在“滥用” 功能。在Stream API中,每个函数都有其明确的定义明确的目的:应该计算最大值,应该根据条件进行过滤,应该产生递增的累加值,依此类推。 这样做会使我无法使用Streams强大的机制:如果我想将搜索范围限制在前两个结果中,该怎么办

  • 但我对它并不完全满意,主要有两个原因 我“滥用”了函数。在Stream API中,每个函数都有其明确、明确的用途:被认为是计算最大值,被认为是根据条件进行筛选,被认为是生成增量累加的值,等等。 这样做会阻止我使用Streams强大的机制:如果我想将搜索限制在前两个结果上怎么办? 这里我使用了,因为(据我所知)它是唯一一个允许比较两个值的函数,而这些值可以在某种程度上导致类似于“当前值”和“下一个值

  • 问题内容: 如何使用JavaScript获取HTML中的下一个元素? 假设我有3个s,并且在JavaScript代码中获得了对1的引用,我想获取哪个是下一个,哪个是前一个。 问题答案: 在纯JavaScript中,我的想法是,您首先必须将它们归类到一个集合中。 因此,基本上,通过selectionDiv遍历集合以查找其索引,然后显然是-1 =上一个+1 =下一个在范围内 但是请注意,正如我所说的那

  • 问题内容: 目前,我正在这样做: 但是我想要一个可以放在简单语句中的表达式。是否有内置的东西可以使这段代码显得不太笨拙? 如果iterable为空,则返回,但如果不是,则可能会遍历所有项目。我只需要检查第一项即可。 有人问我要做什么。我编写了一个函数,该函数执行SQL查询并产生其结果。有时,当我调用此函数时,我只是想知道查询是否返回了任何内容,并据此做出决定。 问题答案: 如果为True,则不会超

  • 我想删除一些与其他输出值相同的输出!因为Test1=Test2=Test5=Test6,所以我希望它在控制台上只显示Test1!Test3=Test4=Test7=Test8,所以我希望它只显示Test3。。。。。。。。 以下代码是我所做的: 以下是我的输出: