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);
}
}