Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList将元素添加到第三层_Java_Arraylist - Fatal编程技术网

Java ArrayList将元素添加到第三层

Java ArrayList将元素添加到第三层,java,arraylist,Java,Arraylist,我在一个arraylist中循环,试图添加我从ai.get(k.add(Cent.get(k.get(m)-Cent.get(k.get(l))中得到的每个答案;进入各自的arraylist of arraylist of arraylist。对于每三个元素,它应该将以下元素添加到新的arraylist中。此数据集中有12个元素,因此它应该看起来像[[[0,1,2],[3,4,5],[6,7,8],[9,10,11],[],[],[],[],[],[],[],[],[],[],[],[] Arr

我在一个arraylist中循环,试图添加我从ai.get(k.add(Cent.get(k.get(m)-Cent.get(k.get(l))中得到的每个答案;进入各自的arraylist of arraylist of arraylist。对于每三个元素,它应该将以下元素添加到新的arraylist中。此数据集中有12个元素,因此它应该看起来像[[[0,1,2],[3,4,5],[6,7,8],[9,10,11],[],[],[],[],[],[],[],[],[],[],[],[]

ArrayList<ArrayList> ai = new ArrayList<ArrayList>();
        // Creates arrays based on number of centroids
        for (int k = 0; k < numCen; k++) {
            ai.add(new ArrayList(k));
        }

        for (int i = 0; i < numCen; i++) {
            for(int k = 0; k < dim; k++) {
            ai.get(i).add(new ArrayList(k));
            //ai.add(new ArrayList(i));
            }
        }

        System.out.println(ai);     


        // Gets all of the centroids
            for (int k = 0; k < numCen; k++) {
                // Gets the centroid itself
                for (int m = 0; m < Cent.size() + 1; m++) {
                    // Gets all the elements in array
                    for (int l = 0; l < Cent.size() + 1; l++) {
                        // Skips over the element being subtracted so you never get 0
                        if(Cent.get(k).get(m) == Cent.get(k).get(l)) {
                            continue;
                        }
                        //Places all the elements in ai
                        ai.get(k).add(Cent.get(k).get(m)-Cent.get(k).get(l));
                    }
                }
                System.out.println(ai);
        }


添加第三层。现在你只有两个

  • 列表
    可以存储
    [1,2]
  • 列表
    可以存储
    [[1,2],[3,4]]
    ,这就是您现在拥有的
  • 列表
    可以存储
    [[1,2],[3,4],[5,6],[7,8]]]
  • 相互包装的
    列表的数量是层数(或尺寸,这是一个通用名称)。
    当然,任何
    列表都可以为空,
    []

    哦,是的。
    因此,您的内部
    ArrayList
    包含泛型
    对象
    -s,您碰巧用
    ArrayList
    s填充了这些对象,但仍然很难访问它们,您可以这样做:

    ((ArrayList)ai.get(firstIndex).get(secondIndex)).get/set(thirdIndex)
    
    这是您的代码中没有发生的事情,所以我有点困惑为什么您会有第三层的内容。这是你根本没有表现出来的东西

    无论如何,你真的应该切换到“更类型化”的方法,并且

    List<List<List<Float>>> ai=new ArrayList<>();
    
    List ai=new ArrayList();
    

    开始时。

    我已经有第三层了。这是空的arraylist。[[[], [], [], []], [[], [], [], []], [[], [], [], []]]. 我需要帮助把元素放进去。
    List<List<List<Float>>> ai=new ArrayList<>();