如何访问集合中的集合元素?

时间:2015-10-18 14:10:29

标签: java arraylist collections

所以我得到了这段代码:

List chunks = new ArrayList<ArrayList<Block>>(1);

我需要得到一个内部ArrayList的孩子。

2 个答案:

答案 0 :(得分:7)

首先修复声明部分

List<List<Block>> chunks = new ArrayList<ArrayList<Block>>(1);

如果您使用的是Java 7,甚至会更好

List<List<Block>> chunks = new ArrayList<>(1);

然后

chunks.get(0).get(0);

假设您已经在其中添加了元素,它将为您提供内部元素Block

如果在该地方没有添加任何元素,您将遇到异常。

答案 1 :(得分:4)

List<List<Block>> chunks = new ArrayList<ArrayList<Block>>(1);

创建一个空ArrayList,因此您无法get任何内容。 请注意,我更改了chunks的类型。如果您使用原始类型(即List),chunks.get()将返回Object类型的实例,并且您必须(不安全地)将其投射到List<Block>为了从内部List获取元素。

首先你需要添加一些东西:

chunks.add (new ArrayList<Block>());

然后,您可以将内部ArrayListadd元素添加到其中:

chunks.get(0).add (new Block());

然后你可以通过以下方式获得内部元素:

Block b = chunks.get(0).get(0);