Java 循环嵌套映射-双重结果
我是Java新手,试图理解嵌套映射,确切地说,我如何从循环中过滤不必要的结果Java 循环嵌套映射-双重结果,java,nested,Java,Nested,我是Java新手,试图理解嵌套映射,确切地说,我如何从循环中过滤不必要的结果 Map<String,Map<Integer,Integer>> add = new LinkedHashMap<>(); Map<Integer,Integer> add2 = new LinkedHashMap<>(); for(Map.Entry<String,Map<Integer,Integer>> view: add.en
Map<String,Map<Integer,Integer>> add = new LinkedHashMap<>();
Map<Integer,Integer> add2 = new LinkedHashMap<>();
for(Map.Entry<String,Map<Integer,Integer>> view: add.entrySet()){
System.out.println("Name: " + view.getKey());
for(Map.Entry<Integer,Integer>view2: add2.entrySet()){
System.out.println("Number: "+ view2.getKey());
System.out.println("ID:"+ view2.getValue());
System.out.println("==================");
}
}
我只想要以下结果:第一个循环中的名称1、编号1、不带编号2的ID1和ID2。。。
或者,如何在没有双倍数字和ID的情况下进行迭代
-->
当我写下3个名字,每个名字有3个数字,第一个是:
Name: name1
Number: 111
ID:1
===============
Number: 2222
ID:2
===============
Number: 3333
ID:3
===============
对其他人来说也是如此
Name: name2
Number: 111
ID:1
===============
Number: 2222
ID:2
===============
Number: 3333
ID:3
===============
应该是公正的
Name 1
Number: 111
ID:1
============
Name 2
Number: 222
ID:2
============
Name 3
Number: 333
ID:3
这就是在嵌套的
映射上迭代的方式:
Map<String,Map<Integer,Integer>> add = new LinkedHashMap<>();
for(String key : add.keySet()) {
for(Integer key : add.get(key).keySet()) {
// your code here
}
}
Map add=newlinkedhashmap();
for(字符串键:add.keySet()){
for(整数键:add.get(键).keySet()){
//你的代码在这里
}
}
您错过了代码中的add.get(key).keySet()
部分。要了解迭代嵌套映射,请阅读以下内容
您可以使用方法迭代贴图中的键。
也请查看链接。您能更具体一点吗?您在add
中有什么值,在add2
中有什么值,您的预期结果是什么?替换嵌套循环头中的add2.entrySet()
=>view.getValue().entrySet()
。投票以键入方式结束。姓名:姓名1号码:1234 ID:1========姓名:姓名2号码:2345 ID:2当我输入3个姓名时,每个姓名对应3个号码,对于第一个,我得到:Name:name1 Number:111 ID:1==========================================================================================Number:3333 ID:3=================================对于其他人,是相同的名称:name2 Number:111 ID:1=====================Number:2222 ID:2===============编号:3333 ID:3=====================应该只是名称1编号:111 ID:1它不是那样工作的:add.get(key).keySet(),我重复了关于迭代的其他信息,我做了,但仍然有相同的结果。
Map<String,Map<Integer,Integer>> add = new LinkedHashMap<>();
for(String key : add.keySet()) {
for(Integer key : add.get(key).keySet()) {
// your code here
}
}