Estou implementando uma função que gera TAM*TAM números aleatórios e os salva em uma matriz, preciso usar ArrayList de ArrayList portanto estou instanciando a variavel linha toda vez que crio uma nova linha e passo essa linha para o ArrayList
public static ArrayList<ArrayList<Integer>> matrizDeNumeros;
public static void preencherMatriz() {
Random numero = new Random();
ArrayList<Integer> linha = new ArrayList<Integer>();
if (TAM != 0) {
matrizDeNumeros = new ArrayList<ArrayList<Integer>>(TAM);
for (int i = 0; i < TAM; i++) {
linha = new ArrayList<Integer>(); // // linha.clear(); limpa linha
for (int j = 0; j < TAM; j++)
linha.add(numero.nextInt(rangeNumerosAleatorios));
matrizDeNumeros.add(linha);
}
}
}
minha dúvida é porque é que quando eu uso linha.clear()
no lugar de linha = new ArrayList<Integer>();
eu não obtenho o mesmo resultado ??