我想知道:如何迭代 2D map ?我有一个中央 map :
private final Map<String, Map<String, String>> centralMap =
new HashMap<String, Map<String, String>>();
其中包含另一张 map :
Map<String,String> nestedMap = new HashMap<String, String>();
作为值,第二个是在“put”方法中创建的,因此在构造函数中,我只有centralMap。现在我想重新定义这个方法并获得 map 的完整条目(2个键和每个元素的值)
public Iterator<Entry> iterator()
我应该如何进行?如果可能的话,如何通过迭代器删除元素而不出现问题?
最佳答案
迭代器旨在对集合进行操作,例如第一个映射的键集或嵌套映射的值(它们是映射的集合)。您不能指望迭代器 renove 方法能够理解您的复杂结构。
我建议您为此构建自己的类,并使用自己的便捷方法来执行您所描述的操作。
此外,在这里冒险一下:确保您不仅仅想要一张多重 map 。如果是这样,请查看例如 guava's HashMultimap
关于嵌套 map 中的java迭代器(Map 2D),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10472656/