I'm trying to do an multi-dimensional ArrayList
, so I've come up with the method of doing:
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++;
}
The problem I'm having is that with an ArrayList.size()
of 7, I'm only getting the first and fifth records when I try and get the information out of the array. What am I missing?