Ich versuche, den folgenden Code zu verwenden, um eine mehrdimensionale ArrayList zu erstellen. Mein Code füllt die innere ArrayList (localSolutions) ganz gut, aber wenn ich versuche, ein hinzufügen, dass ArrayList auf die äußere ArrayList (Lösungen), etwas geht schief, und es fügt leere ArrayLists statt.
public class MathCapstone {
public static void main(String[] args) {
ArrayList<ArrayList<Integer>> list = entireList(10);
for(int q = 0;q<list.size();q++) {
System.out.println(list.get(q));
}
public static ArrayList<ArrayList<Integer>> entireList(int max) {
ArrayList<ArrayList<Integer>> solutions = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> localSolutions = new ArrayList<Integer>();
for(int i = 1; i <= max; i++) {
for(int j = 1; j < i; j++) {
//System.out.println(j + "mod" + i + "=" + (j*j)%i);
if ((j*j)%i == 1) {
localSolutions.add(j);
}
}
//System.out.println(localSolutions.toString());
solutions.add(localSolutions);
localSolutions.clear();
}
return solutions;
}
Auf eine letzte Anmerkung: wäre es besser, eine HashMap von ArrayLists (schließlich werde ich CDFs für maximale Werte bis zu etwa 10k erstellen) zu verwenden?