我在另一个 map 中使用一个 map ,外部 map 的键是 Integer,值是另一个 map 。我得到了预期的值,但我不知道如何获取内部映射的键和值。 这是代码
Map<Integer, Map<Integer, Integer>> cellsMap = new HashMap<Integer, Map<Integer, Integer>>();
Map<Integer , Integer> bandForCell = cellsMap.get(band_number);
if (bandForCell == null)
bandForCell = new HashMap<Integer, Integer>();
bandForCell.put(erfcn, cell_found);
cellsMap.put(band_number, bandForCell);
csv.writeCells((Map<Integer, Map<Integer, Integer>>) cellsMap);
public void writeCells (Map<Integer, Map<Integer, Integer>> cellsMap ) throws IOException
{
for (Map.Entry<Integer, Map<Integer, Integer>> entry : cellsMap.entrySet()) {
System.out.println("Key: " + entry.getKey() + ". Value: " + entry.getValue() + "\n");
}
}
输出我的 map
Key: 20 Value: {6331=0, 6330=1, 6329=1, 6328=0, 6335=1, 6437=0, 6436=1}
上面输出中的值是另一个映射。 如何从外部映射的值中获取内部映射的键和值?
喜欢内部 map 的键 = 6331, 6330, 6329 .... 和内部映射的值 = 0 , 1 , 1 , 0 ...
谢谢
最佳答案
这对我有用,希望将来对其他人有帮助
for (Map.Entry<Integer, Map<Integer, Integer>> outer : cellsMap.entrySet()) {
System.out.println("Key: " + outer.getKey() + "\n");
for (Map.Entry<Integer, Integer> inner : entry.getValue().entrySet()) {
System.out.println("Key = " + inner.getKey() + ", Value = " + inner.getValue());
}
}
关于java - 获取另一个Map中使用的Map的键和值(JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19877523/