[英]How to access String within an ArrayList within an ArrayList within a 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)
表達式將正確編譯。
嘗試替換為:
HashMap<Integer, ArrayList> map = new HashMap<>();
帶有:
HashMap<Integer, List<ArrayList<String>>> map = new HashMap<Integer, List<List<String>>>();
在這種情況下,您可以執行以下操作:
System.out.println(map.get(1).get(0).get(0));
因為1st
get(1)
的map
,在2nd
get(0)
為第1 List
和3th
的第二GET(0) List
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.