0
respostas

[Projeto] Resolvendo Todos Desafios

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

package Desafios.ListaNumerosSort;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Principal {
    public static void main(String[] args) {
        List<Integer> numeros = new ArrayList<>();
        for (int i = 10; i > 0; i--) {
            numeros.add(i);
        }
        
        // Sem Reorganizar
        System.out.println(numeros);

        // Depois de Organizado
        Collections.sort(numeros);
        System.out.println("Organizados:");
        System.out.println(numeros);
    }
}

2 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.

Titulo.java

package Desafios.ClasseTituloComComparable;

public class Titulo implements Comparable<Titulo> {
    private String nome;


    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public int compareTo(Titulo o) {
        return this.getNome().compareTo(o.getNome());
    }

    @Override
    public String toString() {
        return getNome();
    }
}

3. 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.

Principal.java

package Desafios.ClasseTituloComComparable;

import ComOO.br.com.alura.screenmatch.modelos.Titulo;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Principal {
    public static void main(String[] args) {
        Title titulo1 = new Title();
        Title titulo2 = new Title();
        Title titulo3 = new Title();

        List<Title> listaDeTitulos = new ArrayList<>();
        listaDeTitulos.add(titulo1);
        listaDeTitulos.add(titulo2);
        listaDeTitulos.add(titulo3);

        titulo1.setNome("Paulo");
        titulo2.setNome("Antonio");
        titulo3.setNome("Salamandra");

        System.out.println("Antes do sort: ");
        System.out.println(listaDeTitulos+"\n"); //[Paulo, Antonio, Salamandra]


        Collections.sort(listaDeTitulos);

        System.out.println("Depois do sort: ");
        System.out.println(listaDeTitulos); //[Antonio, Paulo, Salamandra]
    }
}

4. 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.

PrincipalLista.java

package Desafios.CriandoListaComInterface;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class PrincipalLista {
    public static void main(String[] args) {

        List<String> listaArray = new ArrayList<>();

        listaArray.add("Alura na ArrayList");
        listaArray.add("Fiasp na ArrayList");
        listaArray.add("Programação ❤ na ArrayList");

        System.out.println("Array:");
        System.out.println(listaArray+"\n");

        List<String> listaLinked = new LinkedList<>();

        listaLinked.add("Alura na LinkedList");
        listaLinked.add("Fiasp na LinkedList");
        listaLinked.add("Programação ❤ na LinkedList");

        System.out.println("Linked:");
        System.out.println(listaLinked);



    }
}

5. Modifique o Exercício 4 para declarar a variável de lista como a interface List, demonstrando o uso de polimorfismo.

PrincipalLista.java

package Desafios.CriandoListaComInterface;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class PrincipalLista {
    public static void main(String[] args) {

        List<String> listaPoli;

        listaPoli = new ArrayList<>();

        listaPoli.add("Alura na ArrayList");
        listaPoli.add("Fiasp na ArrayList");
        listaPoli.add("Programação ❤ na ArrayList");

        System.out.println("Array:");
        System.out.println(listaPoli+"\n");

        listaPoli = new LinkedList<>();

        listaPoli.add("Alura na LinkedList");
        listaPoli.add("Fiasp na LinkedList");
        listaPoli.add("Programação ❤ na LinkedList");

        System.out.println("Linked:");
        System.out.println(listaPoli);



    }
}