Java 如何填充和访问三维数组列表的任何元素

Java 如何填充和访问三维数组列表的任何元素,java,generics,vector,arraylist,Java,Generics,Vector,Arraylist,我需要创建一个三维ArrayList ArrayList<ArrayList< ArrayList<Object>>> data_Header_Mapper; ArrayList>data\u Header\u Mapper; 如何填充三维arraylist以及如何访问三维arraylist的叶子项(对象)。非常感谢您的帮助 我熟悉向量,但由于一些问题,我想将下面的向量代码转换为ArrayList。 填充三维向量的代码如下所示 for (int

我需要创建一个三维ArrayList

  ArrayList<ArrayList< ArrayList<Object>>> data_Header_Mapper; 
ArrayList>data\u Header\u Mapper;
如何填充三维arraylist以及如何访问三维arraylist的叶子项(对象)。非常感谢您的帮助

我熟悉向量,但由于一些问题,我想将下面的向量代码转换为ArrayList。 填充三维向量的代码如下所示

  for (int r=0;r<totalRows;r++) // r - Rows
   {

     for (int c=0;c<totalViewedCols;c++) //c- Columns
     {

       cAct=0;
       while (cAct < totalActualCols)
      // for (int cAct=0;cAct<totalActualCols;cAct++) //c- Columns
       {
         if (Cols.get(cAct).toLowerCase().equals(columnName.toLowerCase())  )
         {
          ColValindex =  colHeader_ForSave.indexOf(columnName)  ;//Temp Comment
          colValue= (String)data_ForSave.elementAt(r).get(ColValindex);
         //  ColValindex =  header.indexOf(columnName)  ;
         //  colValue= (String)data.elementAt(r).get(ColValindex);

           data_Header_Mapper_Element.add(columnName); 
           data_Header_Mapper_Element.add(colValue); 
          }
         cAct++;
       }
       if (data_Header_Mapper_Element.size() !=0)
       {
        data_Header_Mapper_Row.add(data_Header_Mapper_Element);
       // data_Header_Mapper_Element.removeAllElements();
      data_Header_Mapper_Element =null;
      data_Header_Mapper_Element=new Vector<String>();
       }
     }
      if (data_Header_Mapper_Row.size() !=0)
     {
       data_Header_Mapper.add(data_Header_Mapper_Row);

       data_Header_Mapper_Row =null;
       data_Header_Mapper_Row=new Vector<Vector<String>>();
      }

   }
for(int r=0;r
public类My3DArray{
私人名单;
公共My3DArray(){
this.list=generate3DArray(5,5,5);
}
公共列表生成Darray(int dim1、int dim2、int dim3){
列表=新的ArrayList();
对于(int i=0;i
我省略了类中的一些变量,如维度,但这是一个想法。如何使用此示例取决于您。

公共类My3DArray{
私人名单;
公共My3DArray(){
this.list=generate3DArray(5,5,5);
}
公共列表生成Darray(int dim1、int dim2、int dim3){
列表=新的ArrayList();
对于(int i=0;i

我省略了类中的一些变量,如维度,但这是一个想法。如何使用此示例取决于您。

请告诉我如何填充循环中的列表,如我在上述代码中所示。我需要的是动态列表,而不是固定的created@Prog_Anila修复只是一个示例,您可以根据该示例编写代码在提供的示例中,我不知道什么是输入数组/向量。请告诉我如何在循环中填充列表,如我在上面的代码中所示。我需要的是动态列表,而不是固定的created@Prog_Anila修复只是一个示例,您可以根据该示例编写代码。在提供的示例中,我不知道可能是什么输入数组/向量。
  for(int r=0;r<rowSize;r++)
      {

      for (int c=0;c<colSize;c++)
      {

      // To Build Insert And Update Query 
           columnDataType=  dbe.GetDataTypeOfTableColumn(rsMetaData,data_Header_Mapper.elementAt(r).get(c).get(0).toString());
           dataSize=dbe.GetDataSizeOfTableColumn(rsMetaData,data_Header_Mapper.elementAt(r).get(c).get(0).toString());
           Validation.ValidateData(columnDataType, data_Header_Mapper.elementAt(r).get(c).get(1), dataSize);

         }

        }
public class My3DArray {

    private List<List<List<Object>>> list;

    public My3DArray() {
        this.list = generate3DArray(5, 5, 5);
    }

    public List<List<List<Object>>> generate3DArray(int dim1, int dim2, int dim3) {
        List<List<List<Object>>> list = new ArrayList<List<List<Object>>>();
        for(int i = 0; i < dim1; i++) {
            List<List<Object>> list2 = new ArrayList<List<Object>>();
            for(int j = 0; j < dim2; j++) {
                List<Object> list3 = new ArrayList<Object>(dim3);
                list2.add(list3);
            }
            list.add(list2);
        }
        return list;
    }

    public Object getElementIn3DArray(int i, int j, int k)
        throws NullPointerException, ArrayIndexOutOfBoundsException {
        return list.get(i).get(j).get(k);
    }

    public void setElementIn3DArray(Object o, int i, int j, int k)
        throws NullPointerException, ArrayIndexOutOfBoundsException {
        list.get(i).get(j).add(o);
    }
}

public class Main {
    public static void main(String[] args) {
        My3DArray x = new My3DArray();
        x.setElementIn3DArray("Hello World", 0, 0, 0);
        System.out.println(x.getElementIn3DArray(0, 0, 0));
        System.exit(0);
    }
}