我在为我实现的Iterator重写Next方法时遇到了一些困难。我想逐个返回元素,但我似乎无法弄清楚如何,任何人想要启发我?目前我的代码如下:
public E next() {
if (iteratorCount == map.size()) {
throw new NoSuchElementException();
}
我使用ArrayList已经多次这样做了,但这似乎有很大的不同?
谢谢!
答案 0 :(得分:0)
您可以按如下方式使用Iterator
。你为什么要创建自己的迭代器?
Map<String, String> map=new HashMap<>();
Iterator valueIterator=map.values().iterator(); // iterate through values
Iterator keyIterator=map.keySet().iterator(); // iterate through keys
//then
valueIterator.next();// for next value in the map
keyIterator.next();// for the next key in the map
现在您可以按键迭代思维导图并按如下方式返回。
while (keyIterator.hasNext()){
System.out.println(map.get(keyIterator.next()));
}