Java访问列表列表中的第一个列表

时间:2014-02-26 21:14:42

标签: java list arraylist nested

这是我的程序

ArrayList<ArrayList<?>> matrix = new ArrayList();  // nested list so as to have each matrix.add(new ArrayList());
matrix.add(new ArrayList());
matrix.add(new ArrayList());

我知道我可以使用matrix.get(0)访问列表中的每个项目 但是,如果我想访问第一个嵌套列表的第一项(我希望它是清楚的)该怎么办? 这就是我想做的。 如果我可以将每个嵌套列表甚至整个列表转换为具有嵌套数组的正确数组,但这可能是一个很高的顺序。 对不起,我的编程技巧很差。

5 个答案:

答案 0 :(得分:1)

要访问第一个列表的第一项,您可以matrix.get(0).get(0);。当您matrix.get(0)返回第一个List时,您可以对其进行更多操作(getaddremove等),这是与aList.get(0)

之类的东西没有什么不同

答案 1 :(得分:0)

<?> foo = matrix.get(0).get(0);

答案 2 :(得分:0)

您只需要引用第一个元素的第一个元素

matrix.get(0).get(0)

答案 3 :(得分:0)

你可以使用这样的东西

public static void main(String[] args) throws Exception {
    ArrayList<ArrayList<?>> matrix = new ArrayList<ArrayList<?>>();
    ArrayList<Integer> al = new ArrayList<Integer>();
    al.add(1);
    matrix.add(al);
    ArrayList<Integer> al2 = new ArrayList<Integer>();
    al2.add(2);
    al2.add(3);
    matrix.add(al2);

    Object[] objs = new Object[al.size()];
    objs = matrix.toArray(objs);
    System.out.println(java.util.Arrays.toString(objs));
}

输出

[[1], [2, 3]]

答案 4 :(得分:0)

希望,以下代码为您描述了一切:

//get the first list from matrix
List<?> firstNestedList = matrix.get(0);

//get the first element from the firstNestedList 
Object neededElement = firstNestedList.get(0);