JavaArrayListintermediario

Placar de jogo

Em sistemas de jogos, você frequentemente precisa manter listas paralelas: uma com nomes de jogadores e outra com suas pontuações. Mesmo que existam soluções mais elegantes com objetos, dominar ArrayLists em paralelo é útil quando você precisa de simplicidade ou está lidando com dados de fontes separadas. Essa técnica aparece em rankings, carrinhos de compra e qualquer situação onde dois conjuntos de dados andam juntos.

O PROBLEMA

Dois ArrayLists para pontuações aleatórias. Exiba placar e vencedor.

EXEMPLO

Vencedor: Jogador 2!

SOBRE O CONCEITO

Aqui você cria dois ArrayLists, um para armazenar os nomes dos jogadores (ou identificadores) e outro para as pontuações geradas com Random. O truque é garantir que os índices fiquem sempre sincronizados: ao adicionar um novo jogador, você adiciona a pontuação correspondente na mesma posição no outro ArrayList. O erro comum de 'índice fora dos limites' ocorre quando você tenta acessar uma posição que não existe, por exemplo, ao comparar pontuações sem verificar se as listas têm o mesmo tamanho. Como streams são proibidos, você precisa usar um laço for manual para percorrer os índices e encontrar a maior pontuação, sempre acessando com métodos get(i) de ambos os ArrayLists. Lembre-se: qualquer operação que mexa em um ArrayList deve mexer no outro simultaneamente para evitar inconsistências.

RESOLUÇÃO

Mais exercícios de ArrayList

JAL003 · BásicoAcessar e modificarJAL005 · BásicoOrdenar ArrayListJAL001 · BásicoCriar e exibir ArrayListJAL006 · BásicoTamanho e vazio
Ver todos os exercícios de Java