我在从Arraylist
内部的Arraylist
中提取值时遇到问题。
我将举例说明我的问题。
示例:
ArrayList alA = new ArrayList();
ArrayList alB = new ArrayList();
alA.add("1");
alA.add("2");
alA.add("3");
alB.add(alA);
System.out.println(alB.get(0));
这将返回[1, 2, 3]
作为结果。
就我而言,我只需要打印出3
。我该如何实现?
答案 0 :(得分:4)
只需在内部数组上调用get
:
System.out.println(((List) alB.get(0)).get(2));
请注意,通过使用泛型,您将无需进行强制转换:
List<String> alA = new ArrayList<>();
List<List<String>> alB = new ArrayList<>();
alA.add("1");
alA.add("2");
alA.add("3");
alB.add(alA);
System.out.println(alB.get(0).get(2));
答案 1 :(得分:2)
如果您不想更改当前代码的其他部分,那么简单
System.out.println(((ArrayList)alB.get(0)).get(2));
答案 2 :(得分:2)
System.out.println(alB.get(0));
返回alB
的第0个索引元素,即alA
。由于您需要元素3
,因此需要获取alA
的第二个索引元素,在本例中为alA.get(2);
组合:
System.out.println(((ArrayList)alB.get(0)).get(2));