JavaArrayListbasico

Copiar lista

Ao trabalhar com listas, muitas vezes você precisa modificar uma cópia sem alterar os dados originais. Em código real, isso aparece ao preparar dados para exibição ou processamento temporário. Usar a atribuição direta com = apenas cria uma nova referência para a mesma lista, o que causa efeitos colaterais inesperados.

O PROBLEMA

Copie ArrayList com new ArrayList<>(original). Modifique cópia sem afetar original.

EXEMPLO

Original intacto: [A,B,C,D,E]

SOBRE O CONCEITO

Para copiar uma ArrayList, use new ArrayList<>(original). Isso cria uma nova lista com os mesmos elementos, permitindo modificações independentes. O erro comum de atribuir com = (ex.: ArrayList<String> copia = original) faz com que ambas as variáveis apontem para o mesmo objeto; qualquer alteração em uma reflete na outra. Como String é imutável, a cópia superficial é suficiente aqui — o new ArrayList<>(original) copia as referências, mas como as strings não são alteradas, não há problema. Use add e set na cópia para modificá-la.

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