Java - ArrayList de ArrayList

2 respostas Resolvido
java
A

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);
	}

}

2 Respostas

Lucas_Camara
Solucao aceita

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().

A

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

Criado 14 de novembro de 2022
Ultima resposta 14 de nov. de 2022
Respostas 2
Participantes 2