Olá, gostaria de ajuda para saber se a resposta da questão aseguir está correta. segue o enunciado
Implemente uma função concatena(ListaEncadeada lista1, ListaEncadeada lista2), que deve
juntar duas listas encadeadas em uma só, conforme representado na figura.

[code]import java.util.ArrayList;
public class Concatenacao_Lista1_Lista2 {
public static void main(String args[]) {
ArrayList lista1 = new ArrayList<String>();
ArrayList lista2 = new ArrayList<String>();
lista1.add("10");
lista1.add("12");
lista1.add("6");
System.out.println("Lista 1: " + (lista1));
lista2.add("2");
lista2.add("7");
System.out.println("Lista 2: " + (lista2));
ArrayList concatenaLista = new ArrayList(lista1.size()+ lista2.size());
concatenaLista.addAll(lista1);
concatenaLista.addAll(lista2);
System.out.println("Concatenação da Lista 1 com Lista 2: " + (concatenaLista));
}
}
[/code]
Essa resposta está correta? caso contrario o que é preciso mudar?
Ele pede listas encadeadas, então não poderia usar ArrayList, e sim LinkedList.
Eu vejo duas soluções simples para isso:
- Concatenar as duas listas, independente se elementos são iguais ou não:
[code]public List concatenarListas(List primeiraLista, List segundaLista) {
List<String> novaLista = new ArrayList<String>(primeiraLista);
novaLista.addAll(segundaLista);
return novaLista;
}[/code]
- Concatenar as duas listas eliminando elementos repetidos:
[code]public List concatenarListas(List primeiraLista, List segundaLista) {
List<String> listaMaior, listaMenor;
if (primeiraLista.size() > segundaLista.size()) {
listaMaior = primeiraLista;
listaMenor = segundaLista;
}
else {
listaMaior = segundaLista;
listaMenor = primeiraLista;
}
for (String elementoLista : listaMenor) {
if (!listaMaior.contains(elementoLista)) {
listaMaior.add(elementoLista);
}
}
return listaMaior;
}[/code]
Alguma delas ajuda?
[quote=Nicolas Fernandes]Eu vejo duas soluções simples para isso:
- Concatenar as duas listas, independente se elementos são iguais ou não:
[code]public List concatenarListas(List primeiraLista, List segundaLista) {
List<String> novaLista = new ArrayList<String>(primeiraLista);
novaLista.addAll(segundaLista);
return novaLista;
}[/code]
[/quote]
Tô precisando de ajuda de como implementar esse codigo em minha lista, pois sou iniciante e ainda não tenho muito conhecimento sobre o assunto, desde já agradeço.