我的下面的代码导致无限循环.我加入3 maps到ArrayList并试图迭代list的Maps.但我不知道造成无限循环的原因.我知道我可能会犯一些愚蠢的错误,但我无法理解.有人可以帮忙吗?
package paddy.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class Maptest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map < String, Integer > m = new HashMap<String, Integer>();
m.put("a", 1);
m.put("b", 1);
m.put("c", 1);
m.put("d", 1);
m.put("e", 1);
Map < String, Integer > m1 = new HashMap<String, Integer>();
m1.put("a", 1);
m1.put("b", 1);
m1.put("c", 1);
m1.put("d", 1);
m1.put("e", 1);
Map < String, Integer > m2 = new HashMap<String, Integer>();
m2.put("a", 1);
m2.put("b", 1);
m2.put("c", 1);
m2.put("d", 1);
m2.put("e", 1);
List<Map<String, Integer>> lm = new ArrayList<>();
lm.add(m);
lm.add(m1);
lm.add(m2);
Iterator<Map<String, Integer>> lmItr = lm.iterator();
while (lmItr.hasNext())
{
System.out.println(1);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您没有使用迭代器,而是打印常量.更改
while (lmItr.hasNext())
{
System.out.println(1);
}
Run Code Online (Sandbox Code Playgroud)
至
while (lmItr.hasNext())
{
System.out.println(lmItr.next());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53 次 |
| 最近记录: |