package br.com.alura.desafiosp2.desafio1;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
// 01. Crie uma lista de números inteiros e utilize o metodo Collections.sort para ordená-la em ordem crescente. Em seguida, imprima a lista ordenada.
public class Numeros {
public static void main(String[] args) {
List<Integer> listaDeNumeros = new ArrayList<>();
listaDeNumeros.add(5);
listaDeNumeros.add(18);
listaDeNumeros.add(42);
listaDeNumeros.add(3);
System.out.println("Lista: "+listaDeNumeros);
Collections.sort(listaDeNumeros);
System.out.println("Lista ordenada: "+listaDeNumeros);
}
}
package br.com.alura.desafiosp2.desafio2;
// 02. 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.
// 03. 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.
import java.util.*;
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 titulo) {
return this.getNome().
compareTo(titulo.getNome());
}
@Override
public String toString() {
return this.getNome();
}
public static void main(String[] args) {
List<Titulo> listaDeTitulos = new ArrayList<>();
Titulo t1 = new Titulo();
t1.setNome("Dominando o Java com Collections");
Titulo t2 = new Titulo();
t2.setNome("Explorando o Poder do sort()");
Titulo t3 = new Titulo();
t3.setNome("A Jornada de uma Lista em Java");
listaDeTitulos.add(t1);
listaDeTitulos.add(t2);
listaDeTitulos.add(t3);
System.out.println("lista: " +listaDeTitulos);
listaDeTitulos.sort(Comparator.comparing(Titulo::getNome));
System.out.println("Lista Ordenada: " + listaDeTitulos);
// 04. 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
List<String> lista = new LinkedList<>();
lista.add("Muito Simples!");
lista.add("Pequena semelhança entre elas");
lista.add("essa é uma list do tipo String");
System.out.println("LinkedList: " + lista);
// 05. Modifique o Exercício 4 para declarar a variável de lista como a interface List, demonstrando o uso de polimorfismo.
lista = new ArrayList<>();
lista.add("Muito Simples!");
lista.add("Pequena semelhança entre elas");
lista.add("essa é uma list do tipo String");
System.out.println("ArrayList: " + lista);
}
}