【发布时间】:2019-05-30 14:47:39
【问题描述】:
所以我试图在 Java 中迭代一个二维 ArrayList。现在我已经完成了迭代部分,但是,我似乎无法从对象类中调用方法。
我检查了我的拼写以确保类方法拼写正确。它是。我还尝试以与遍历 2D 数组(嵌套 For-Loops)相同的方式遍历 2D ArrayList,同时显然使用 ArrayList 方法(.get()、.add() 等)来选择哪个我需要的 2D Arraylist 中的特定对象。
for(int i = 0; i < layers.size(); i++)
{
for(int j = 0; j < layers.get(i).size(); j++)
{
layers.get(i).get(j).calculate();
layers.get(i).get(j).activate();
input3.add(layers.get(i).get(j).getOutput());
}
}
预期的结果是循环将使用 ArrayList 中的每个对象调用的类对象来执行对象的计算。但是,它一直说找不到我试图调用的方法,我知道这些方法在那里。我不完全确定如何解决这个问题,我只能希望其他人已经遇到这个问题并想出了如何解决它。提前谢谢你。
编辑/更新
应该注意的是,由于这是一个错误,BlueJ 不允许我编译它。
现在要理解我所说的“2D ArrayList”是什么意思,下面是我的编码方式:
enter code here
//First lets say we have a few different ArrayLists
ArrayList<Object> list1 = new ArrayList<Object>();
ArrayList<Object> list2 = new ArrayList<Object>();
ArrayList<Object> list3 = new ArrayList<Object>();
//Now lets say you want to iterate through all of these with only a few
//lines of code... Put them into another ArrayList
ArrayList<ArrayList> bigList = new ArrayList<ArrayList>();
这就是我所说的 2D ArrayList。另一个 ArrayList 中的一组 ArrayList。
.Calculate() 和 .Activate() 方法还从我提供的代码 sn-p 中未显示的对象的实例化中获取输入。
【问题讨论】:
-
什么是“二维”数组列表?你能告诉我们定义吗?
-
能否添加打印的编译错误以及如何创建数组列表?
-
@Kanjiu 肯定是编译时错误,可能是原始类型的问题。
-
你是如何声明 ArrayList 的?
calculate和activate期望什么类型?getOutput返回什么?我们需要更多信息。发Minimal, Complete, and Verifiable example 否则我们帮不了你。 -
Stalemate Of Tuning 我相信我已经做出了必要的调整。
标签: java object arraylist iteration