簡體   English   中英

如何從 ArrayList 中獲取元素<ArrayList<String[]> ?

[英]How to get an element from an ArrayList<ArrayList<String[]>?

我有一個包含 string[]s 的數組列表的數組列表,即,

ArrayList<ArrayList> arraymain = new ArrayList<>();
ArrayList<String[]> arraysub = new ArrayList<>();

現在,將元素添加到 arraysub,

arraysub.add(new String[]{"vary","unite"});
arraysub.add(new String[]{"new","old"});

我試過:

arraymain.get(0).get(0)[1];

但我收到一個錯誤:預期的數組類型; 找到 'java.lang.Object' 我現在如何檢索數據(存儲在字符串 [] 中的字符串)?

改變內部 ArrayList 的類型:

ArrayList<ArrayList<String[]>> arraymain = new ArrayList<>();
ArrayList<String[]> arraysub = new ArrayList<>();

這樣arraymain.get(0).get(0)將返回String[]而不是Object

如果將變量聲明為List ,而不是強制執行特定的List實現,那就更好了:

List<List<String[]>> arraymain = new ArrayList<>();
List<String[]> arraysub = new ArrayList<>();

但是 arraymain 只接受字符串數組類型的數組列表,如果你想在 arraymain 中存儲不同數組類型的不同數組列表,那么這將是解決方案:

ArrayList<ArrayList<Object[]>> arraymain = new ArrayList<ArrayList<Object[]>>();
ArrayList<Object[]> arraysub = new ArrayList<Object[]>();
arraysub.add(new String[]{"kk"});
arraymain.add(arraysub);
ArrayList<Object[]> arraysub2 = new ArrayList<Object[]>();
arraysub2.add(new Integer[]{1,2});
arraymain.add(arraysub2);
    ArrayList<ArrayList<String>> outer = new ArrayList<ArrayList<String>>();
    ArrayList<String> inner = new ArrayList();

    inner.add("ABC");
    inner.add("XYZ");
    inner.add("CDF");

    outer.add(inner);

    ArrayList<String> orderList = outer.get(0);
    String first = orderList.get(0);
    String second = orderList.get(1);
    String third = orderList.get(2);

    System.out.println("FirstValue: "+first);
    System.out.println("SecondValue: "+second);
    System.out.println("ThirdValue: "+third);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM