【发布时间】:2013-08-08 20:49:10
【问题描述】:
我想在 HashMap 中搜索重复项。目前这是我的 HashMap:
HashMap<String, HashMap<String, String>>
我将创建两个迭代器,一个 i 和另一个 j,以及两个循环。第一个while循环的索引为i,然后第二个循环的索引为j,但在循环开始之前j是==到i。
Iterator<Entry<String, HashMap<String, String>>> i = listings.entrySet().iterator();
while(i.hasNext()) {
HashMap<String, String> entry = i.next().getValue();
Iterator<Entry<String, HashMap<String, String>>> j = i;
while(j.hasNext()) {
j.next();
// DO STUFF
}
}
但这不起作用,因为当我调用j.next() 时,它也会更改i 的索引。
【问题讨论】:
-
看起来您需要一个遍历整个地图的迭代器,并且对于每次迭代,您都需要另一个迭代器从第一个迭代器当前指向的位置开始遍历地图的一部分。我不认为 Java 可以让您轻松做到这一点。
-
@ajb 这正是我要找的!