Desafio4. Crie uma lista utilizando a interface List e instancie-a tanto como ArrayList quanto como LinkedList. Adicione elementos e imprima a lista, mostrando que é possível trocar facilmente a implementação.
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
import static java.lang.System.exit;
public class Nome {
private String nomePessoa;
List<String> nome = new ArrayList<>();
List<String> outroNome = new LinkedList<>();
Scanner sc = new Scanner(System.in);
//Construtor
public Nome(String nomePessoa) {
this.nomePessoa = nomePessoa;
}
//Sobrecarga método toString
@Override
public String toString() {
return "Nome: " + this.getNomePessoa().toString();
}
//Método entrada de dados
public void entrarDados() {
System.out.println("===== ENTRADA DADOS =====");
int opcao = 1;
do {
System.out.println("\n1 - INSERIR NOME PESSOA");
System.out.println("2 - LISTAR NOME PESSOA");
System.out.println("0 - SAIR");
int selecao = sc.nextInt();
switch (selecao) {
case 1:
System.out.println("Insira o nome: ");
this.setNome(sc.next());
nome.add(this.getNomePessoa());
System.out.println("Nome: " + this.getNomePessoa().toString() + " cadastrado!");
System.out.println("Insira outro nome:");
this.setNome(sc.next());
outroNome.add(this.getNomePessoa());
System.out.println("Outro nome: " + this.getNomePessoa().toString() + " cadastrado!");
break;
case 2:
System.out.println("\n===== List -> ArrayList =====");
for (int i = 0; i < nome.size(); i++) {
System.out.println(i + " - " + "Nome: " + nome.get(i).toString());
}
System.out.println("\n===== List -> LinkedList =====");
for (int z = 0; z < outroNome.size(); z++) {
System.out.println(z + " - " + "Outro Nome: " + outroNome.get(z).toString());
}
break;
case 0:
System.out.println("Saindo do programa...");
exit(0);
}
} while (opcao == 1);
}
//Getters e Setters
public String getNomePessoa() {
return nomePessoa;
}
public void setNome(String nomePessoa) {
this.nomePessoa = nomePessoa;
}
}
public class Principal {
public static void main(String[] args) {
Nome nome = new Nome("");
nome.entrarDados();
}
}