Java arraylist之arraylist - 用类对象创建多维arraylist

标签 java class arraylist dynamic processing

我正在寻找创建一个数组列表的数组列表。

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,向其添加项目以及访问它们的方式。

最佳答案

而不是:

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

您想使用以下内容吗?

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

编辑:为了打印外部,请尝试此操作。

首先,向 Neighbors 类添加一个 toString() 方法:

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]]

关于Java arraylist之arraylist - 用类对象创建多维arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40777603/

相关文章:

java - 将 BufferedImage 转换/写入为 postscript

java - 在同一 session 中更改实体管理器数据源

java - 我的 getter 返回错误值

java - Android 中的联系人列表排序

java - ViewPager fragment 中的 SwipeToRefresh 布局问题

java - 将 csv 文件读入二维数组

每个类的 Delphi 类变量

php - ZF2 : Dependency injection done the proper way

Java For 数组列表中的循环

java - 如何通过循环将字符串添加到字符串数组列表