我正在尝试做一个多维的ArrayList
,所以我想出了这样做的方法:
int NumberInColumns = (int) Math.floor(listAnswers.size() / NUMBER_OF_COLUMNS);
// make higher number of answers on the right
if (listAnswers.size() % NUMBER_OF_COLUMNS > 0)
NumberInColumns++;
ArrayList<HolderAnswer> listAnswers = getAnswers();
ArrayList<ArrayList<HolderAnswer>> listAnswersSorted = new ArrayList<ArrayList<HolderAnswer>>();
int k=0;
for (HolderAnswer answer : listAnswers) {
ArrayList<HolderAnswer> temp = new ArrayList<HolderAnswer>();
temp.add(answer);
if (k % NumberInColumns == 0 ) {
listAnswersSorted.add(temp);
}
else {
if (k == listAnswers.size()) {
listAnswersSorted.add(temp);
}
}
k++;
}
我遇到的问题是,对于 7 的 ArrayList.size()
,当我尝试从数组中获取信息时,我只获取了第一条和第五条记录。我错过了什么?
最佳答案
因此实例化多维(我选择 3D)arraylist 可能如下所示:
List< List <List <Some Type Here>>> my3DList=
new ArrayList< ArrayList < ArrayList <Some Type Here >() >() >();
所以首先让我们看看如何从中获取数据...
ArrayList secondDemension = my3DList.get(0);
ArrayList thirdDemension = secondDemension.get(0);
SomeTypeHere value = thirdDemsion = 3D.List.get(0);
现在让我们看看如何遍历所有数据:
for(List<List<SomeType>> secondDemension in my3DList){
for(List<sometype> thirdDemsion in secondDemension){
for(YourType value in thridDemsion){
System.out.println(value);
}
}
}
关于java - 多维数组列表java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332614/