java - 多维数组列表java

标签 java android arraylist

我正在尝试做一个多维的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/

相关文章:

java - HibernateTemplate 与 SessionFactory

java - 如何计算24小时过去与否

java - ArrayList 元素之和

java - 尝试将 ArrayList 转换为 LinkedList。不知道为什么这不起作用

java - 如何使用 Ant 扩展 xml 文件中的非实体引用

java - 如何使用jsoup获取url的 'complete'下载大小

android - Activity 应该是透明的,但有黑色背景

java - 从值的 ArrayList 构建 boolean 逻辑树

java - 调试Java应用程序IntelliJ时挂起线程

android - 将自定义目标添加到 Android SDK 和 AVD 管理器