我有以下代码:
for (Map.Entry < Integer, ArrayList < String >> entry: data.entrySet()) {
Integer key = entry.getKey();
ArrayList < String > value = entry.getValue();
for (String aString: value) {
System.out.println("key : " + key + " value : " + aString);
}
}
Hashmap 声明为
Map<Integer, List<String>> data = new HashMap<>();
在通过循环填充之前和 put
方法。
我现在需要迭代 ArrayList
字符串或更好,通过索引检索特定元素..进行操作。我已尽我所能进行研究,似乎已经通过上面的代码找到了答案。它是从一段时间之前给出的答案复制而来的。
但是,当我尝试使用它时,它提示“不兼容类型”,顶行一直到冒号都用红色下划线。
- 必填:
Entry <Integer,java.util.List<java.lang.String>>
- 发现:
Entry <Integer,java.util.ArrayList<java.lang.String>>
最佳答案
因为您已在 Hashmap
中声明了值类型如List<String>
你已经给出了ArrayList<String>
作为值类型 Map.Entry
在for loop
。
更改 Map<Integer, List<String>> data = new HashMap<>();
至Map<Integer, ArrayList<String>> data = new HashMap<>();
关于java - 提取 ArrayList<String> 的元素作为 Hashmap 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52534469/