繁体   English   中英

数组列表的Java数组列表-使用类对象创建多维数组列表

[英]Java arraylist of arraylist - create a multi dimensional arraylist with a class object

我正在寻找创建一个arraylist的arraylist。

import java.util.ArrayList;
import java.util.List;

class Neighbors{
ArrayList<Integer> inner = new ArrayList();
Neighbors(){}
}

ArrayList<Neighbors> outer = new ArrayList<Neighbors>();

void setup() {
size(1280, 700, JAVA2D);
background(0);

Neighbors test1 = new Neighbors();
Neighbors test2 = new Neighbors();

test1.inner.add(0);
test1.inner.add(1);
test1.inner.add(2);

test2.inner.add(5);
test2.inner.add(6);
test2.inner.add(7);

println(test1.inner);
println(test2.inner);
//  outer.add((ArrayList)test.inner);
outer.add(test1.inner);
outer.add(test2.inner);
println(outer);

}

这是我上面的代码,但是我无法将内部arraylist添加到外部数组。 我不确定我在做什么。 或者,如果还有其他方法可以正确执行此操作,请提供帮助。

首先,我试图将arraylist创建为类下的对象,并且我想在externalarraylist中使用这些内部arraylist。 基本上,我需要借助类的2d arraylist。 请给我一个示例代码建议或帮助我,我可以在其中使用arraylist,在arraylist中添加项目以及访问它们的方式。

代替:

outer.add(test1.inner);
outer.add(test2.inner);

您是否要使用以下内容?

outer.add(test1);
outer.add(test2);

编辑:为了打印outer ,请尝试此。

首先,将toString()方法添加到Neighbors类中:

class Neighbors {
    ArrayList<Integer> inner = new ArrayList();

    @Override
    public String toString() {
        return inner.toString();
    }
}

然后,您可以使用以下命令简单地打印outer

System.out.println(outer);

另外,如果您不想使用类,则可以简单地使用ArrayList的ArrayList:

ArrayList<ArrayList<Integer>> outer = new ArrayList<>();
outer.add(new ArrayList<>());
outer.get(0).add(0);
outer.get(0).add(1);
outer.get(0).add(2);

ArrayList<Integer> inner = new ArrayList<>();
inner.add(3);
inner.add(4);
outer.add(inner);

System.out.println(outer);

打印出[[0, 1, 2], [3, 4]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM