java - 提取 ArrayList<String> 的元素作为 Hashmap 的一部分

标签 java list dictionary arraylist hashmap

我有以下代码:

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.Entryfor 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/

相关文章:

R - 处理数据框列表中的列表

python - 删除python中继承的dict元素

python - 如果两个列表具有共同的键值对,如何合并两个列表中的字典?

python - 访问嵌套字典中的键、值

java - logger java 不通过 System.out

java - 如何更改 JComboBox 的选定值

java - 什么时候可以捕获 RuntimeException

c# - 将 SQL 表读入 Dictionary<string, List<string[]>>

python - 仅使用列表理解重新排列(列表列表)矩阵

java - 格式化没有年份的日期