Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Prática] Desafio: hora da prática

Boa Noite,

Compartilho o código dos exercícios realizados:

  1. Crie uma lista de números inteiros e utilize o método Collections.sort para ordená-la em ordem crescente. Em seguida, imprima a lista ordenada.
  System.out.println("Ejercicio 1");
        NumerosEnteros numero1 = new NumerosEnteros(5);
        NumerosEnteros numero2 = new NumerosEnteros(7);
        NumerosEnteros numero3 = new NumerosEnteros(6);
        NumerosEnteros numero4 = new NumerosEnteros(4);
        NumerosEnteros numero5 = new NumerosEnteros(2);
        NumerosEnteros numero6 = new NumerosEnteros(1);
        NumerosEnteros numero7 = new NumerosEnteros(3);
        NumerosEnteros numero8 = new NumerosEnteros(8);
        NumerosEnteros numero9 = new NumerosEnteros(0);
         ArrayList<String> listaOrdenada = new ArrayList();

        listaOrdenada.add(String.valueOf(numero1));
        listaOrdenada.add(String.valueOf(numero2));
        listaOrdenada.add(String.valueOf(numero3));
        listaOrdenada.add(String.valueOf(numero4));
        listaOrdenada.add(String.valueOf(numero5));
        listaOrdenada.add(String.valueOf(numero6));
        listaOrdenada.add(String.valueOf(numero7));
        listaOrdenada.add(String.valueOf(numero8));
        listaOrdenada.add(String.valueOf(numero9));

        Collections.sort(listaOrdenada);
        System.out.println(listaOrdenada);

clase Numero Entero

  private int numero;

    public int getNumero() {
        return numero;
    }
    public void setNumero(int numero) {
        this.numero = numero;
    }
    public NumerosEnteros(int numero) {
        this.numero = numero;
    }
    @Override
    public String toString() {
        return "\nN° " + getNumero();
    }
  1. Crie uma classe Titulo com um atributo nome do tipo String. Implemente a interface Comparable na classe para que seja possível ordenar uma lista de objetos Titulo.
 System.out.println("Ejercicio 2 ");

        Titulo titulo = new Titulo("Ana");
        Titulo titulo1 = new Titulo("Laura");
        Titulo titulo2 = new Titulo("Jose");
        ArrayList<Titulo> listaTitulo = new ArrayList<>();
        listaTitulo.add(titulo);
        listaTitulo.add(titulo1);
        listaTitulo.add(titulo2);
        System.out.println(listaTitulo);
        listaTitulo.sort(Comparator.comparing(Titulo::getNombre));
        System.out.println(listaTitulo);

classe Titulo

public class Titulo implements Comparable<Titulo> {
    private String nombre;
    public Titulo(String otroTitulo) {
        this.nombre = otroTitulo;
    }
    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        nombre = nombre;
    }
    @Override
    public int compareTo(Titulo nuevoTitulo) {
        return this.getNombre().compareTo(nuevoTitulo.getNombre());
    }
    @Override
    public String toString() {
        return "\n- " + getNombre();
    }
}
  1. No Exercício 2, crie alguns objetos da classe Titulo e adicione-os a uma lista. Utilize o método Collections.sort para ordenar a lista e, em seguida, imprima os títulos ordenados.
System.out.println("Ejercicio 3");
        List<Titulo> listaLinkedTitulo = new LinkedList<>();
        listaLinkedTitulo.add(new Titulo("ALPHA"));
        listaLinkedTitulo.add(new Titulo("OMEGA"));
        listaLinkedTitulo.add(new Titulo("GAMMA"));

        Collections.sort(listaLinkedTitulo);
        for (Titulo tit : listaLinkedTitulo) {
            System.out.println(tit.getNombre());
        }
  1. 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.
 System.out.println("Ejercicio 4");
        List<String> listaArray = new ArrayList<>();
        listaArray.add("dato R");
        listaArray.add("dato S");
        listaArray.add("dato T");

        List<String> listLinkedArray = new ArrayList<>();
        listLinkedArray.add("dato 5");
        listLinkedArray.add("dato 4");
        listLinkedArray.add("dato 6");
        System.out.println("ArrayList"+listaTitulo);
        System.out.println("LinkedList"+listaLinkedTitulo);
  1. Modifique o Exercício 4 para declarar a variável de lista como a interface List, demonstrando o uso de polimorfismo.
        System.out.println("Ejercicio 5");

        List<String> listaPolimorfica;
        listaPolimorfica=new ArrayList<>();
        listaPolimorfica.add("dato1");
        listaPolimorfica.add("dato2");
        listaPolimorfica.add("dato3");

        System.out.println("ArrayList: " + listaPolimorfica);

        listaPolimorfica=new LinkedList<>();
        listaPolimorfica.add("datoA");
        listaPolimorfica.add("datoB");
        listaPolimorfica.add("datoC");

        System.out.println("LinkedList: " + listaPolimorfica);
2 respostas
solução!

Oi, Ana! Como vai?

Gostei bastante da organização dos seus exercícios, ficou muito claro o uso do Collections.sort para ordenar tanto os números quanto os objetos Titulo. Do jeito que você explicou, foi ótimo ver como aplicou polimorfismo no exemplo da lista!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Buenas tardes Armano,

Muchas gracias.

Un saludo