java - 如何在 HashMap 中的 ArrayList 中访问 ArrayList 中的 String?

标签 java arraylist hashmap

所以我有这个充满字符串的 ArrayList

ArrayList<String> colours = new ArrayList<>();
    colours.add("Red");
    colours.add("Blue");

该 ArrayList 存储在另一个 ArrayList 中

ArrayList<ArrayList> container = new ArrayList<>();
    container.add(colors);

ArrayList 存储在 HashMap 中

HashMap<Integer, ArrayList> map = new HashMap<>();
    map.put(1, container);

如何访问“红色”?我试过了

System.out.println(map.get(1).get(0).get(0));

但它给出了

Error: java: cannot find symbol
  symbol:   method get(int)
  location: class java.lang.Object

最佳答案

您不应使用像 ArrayList<ArrayList> 这样的原始类型但使用完全“煮熟”的类型,例如 ArrayList<ArrayList<String>> (或者更好,List<List<String>>)。

同样,代替HashMap<Integer, ArrayList> ,使用HashMap<Integer, ArrayList<ArrayList<String>>> (或者更好,Map<Integer, List<List<String>>>)。

如果您进行这些更改,您的 map.get(1).get(0).get(0)表达式将正确编译。

关于java - 如何在 HashMap 中的 ArrayList 中访问 ArrayList 中的 String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35262144/

相关文章:

java - 将数组转换为列表

java - 创建方法来汇总 Java 的 HashMap 中的所有值

java - 序列化draw2d LayeredPane

java - PersistenceManagerFactory 类必须定义一个静态方法?

java - 有没有一种方法可以更新 Arraylist 中的记录而不删除现有记录?

java - Android如何在logcat中查看长字符串

java - HashMap 不可序列化

java - 如何使用java检查文件是否为png图像文件

java - 当涉及命名空间时从 SAX 属性获取值

java - 无法实现自定义ArrayList的RecycleAdapter获取数据库随机查询结果