Java - ArrayList de ArrayList

Boa tarde, pessoal.
Se alguém puder me ajudar eu agradeceria muito, estou há um tempo tentando resolver isso, eu tenho um Array list de um array list de inteiros, para adicionar um elemento novo eu utilizo uma variavel que recebeu números inteiros, porém sempre que eu altero essa variável para adicionar um novo elemento, todos os outros são sobreescritos pelo último enviado, vcs pode me ajudar?

package entidades;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class teste {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		ArrayList<ArrayList<Integer>> jogos = new ArrayList<ArrayList<Integer>>();
		ArrayList<Integer> bilhete = new ArrayList<Integer>();
		int num;
		char resposta;
		do {
			for (int i = 0; i < 6; i++) {
				num = sc.nextInt();
				bilhete.add(num);
			}
			jogos.add(bilhete);
			System.out.println("Deseja criar mais um jogo?");
			resposta = sc.next().charAt(0);
			bilhete.clear();
		} while (resposta == 's');
		System.out.println(jogos);
	}

}

Vc está criando o arrayList bilhete fora do do...while, preenchendo ele dentro do for e limpando a mesma referência do arrayList também dentro do do...while. Isso faz com que todos os elementos incluídos sejam removidos logo em seguida.

Vc deve criar uma nova lista de bilhete dentro do do...while para poder manter seus valores, e não precisa usar o bilhete.clear().

1 curtida

caraca, cara, muito obrigado, não pensei que a solução teria tão simples kkkkk, me ajudou pra caramba, valeu mesmo

1 curtida