3 次元の ArrayList を作成する必要があります。
ArrayList<ArrayList< ArrayList<Object>>> data_Header_Mapper;
3D 配列リストにデータを入力する方法と、3 次元配列リストのリーフの子 (オブジェクト) にアクセスする方法を教えてください。助けてくれてありがとう。
私は Vector の操作に慣れていますが、いくつかの問題があるため、以下の Vector のコードを ArrayList に変換したいと考えています。3D ベクトルを生成するコードは次のとおりです。
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>>();
}
}
アクセス3Dベクトルのコードは以下のとおりです
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);
}
}