java - ArrayList 的 ArrayList.. 无法多次引用它们

标签 java

这是我编写的一个特定方法:

class A {

    private static ArrayList<ArrayList<Integer>> inputTerms = 
                                              new ArrayList<ArrayList<Integer>();

    public static void method1(ArrayList<Integer> terms) {

        int N = terms.size();
        for (int i = 0; i < N - 1; i++) {
            for (int j = i + 1; j < N; j++) {
                ArrayList<Integer> clauses = new ArrayList<Integer>();
                clauses.add(-terms.get(i));
                clauses.add(-terms.get(j));
                inputTerms.add(clauses);
            }
        }
    }
}

在我的主函数中,我有以下代码:

for (int i=0; i<N-1; i++){ 
   ArrayList<Integer> firstdiagonalTerms = new ArrayList<Integer>(); 
   for (int j=0; j<N-i; j++){ 
      firstdiagonalTerms.add(variable[j][i+j]); 
   } 
   method1(firstdiagonalTerms);
} 

我的主函数中有 4 个这样的双 for 循环,我在其中调用 method1 进行不同的迭代。 然而,虽然第一个 for 循环给出了适当的答案,但当我在第二个 for 循环中声明 ArrayList 时,我的 inputTerns 变量被设置为 null。我该如何克服这个问题?

最佳答案

我不明白你想在这里实现什么目标。但你绝对可以创建 ArrayList 的 ArrayList。

public class Testapp {

static ArrayList<ArrayList<Integer>> inputTerms = new ArrayList<ArrayList<Integer>>();

public static void main(String[] args) {
    int outerlist = 3;
    int innerlist = 5;
    for(int i=0; i<outerlist; i++)
    {
        ArrayList<Integer> list = new ArrayList<Integer>(); 
        for(int j=0; j<innerlist; j++)
        {
            list.add(j);
        }
        inputTerms.add(list);
    }

    Iterator outi = inputTerms.iterator();
    while(outi.hasNext()){
        ArrayList<Integer> temp = (ArrayList<Integer>)outi.next();
        Iterator ini = temp.iterator();
        while(ini.hasNext()){
            System.out.print(ini.next());
        }
        System.out.println();
    }
}
}

输出:

01234 
01234 
01234

关于java - ArrayList 的 ArrayList.. 无法多次引用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269121/

相关文章:

java - 如何在Java列表中找到所有最大值?

java - Android日期选择器计算,特定日期之前和之后

java - leJOS 忽略我的循环

java - 在 data/data/packagename/using eclipse android emulator 下找不到数据库文件夹

java - 如何修复 'android.content.ActivityNotFoundException'?

java - ReSTLet javax.net.ssl.SSLHandshakeException : null cert chain

java - 创建具有水平环绕和垂直滚动的面板

java - 为什么 JDateChooser 收不到焦点事件

java - 知道自己是谁

java - 密码更改后ElasticSearch连接状态