Как правильно добавлять элементы к списку типа
ArrayList<ArrayList <Integer>>?
Я делаю так:
ArrayList <Integer> gf=new ArrayList<>();
ArrayList <ArrayList <Integer>> gg=new ArrayList<ArrayList <Integer>>();
for (int j = 0; j < 3; j++) {
gf.clear();
for (int i = 0; i < 3; i++){
rg = 0 + (int)(Math.random() * 2);
gf.add(rg);
}
System.out.println(gg);
gg.add(gf);
}
Ожидаю
(0,0)
(0,0)(1,0)
(0,0)(1,0)(0,1)
Получается
(0,0)
(1,0)(1,0)
(0,1)(0,1)(0,1)
?
Ваш код добавляет в gg один и тот же список ArrayList <Integer>.
ArrayList <ArrayList <Integer>> gg = new ArrayList<ArrayList <Integer>>();
for (int i = 0; i < 3; i++) {
ArrayList <Integer> gf = new ArrayList<Integer>();
for (int j = 0; j < 3; j++) {
...
}
gg.add(gf);
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости