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 br.com.exercicio.principal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Principal {
public static void main(String[] args) {
ArrayList<Integer> numerosInteiros = new ArrayList<Integer>();
numerosInteiros.add(6);
numerosInteiros.add(9);
numerosInteiros.add(2);
numerosInteiros.add(7);
numerosInteiros.add(1);
numerosInteiros.add(4);
numerosInteiros.forEach(System.out::println);
Collections.sort(numerosInteiros);
System.out.println("Ordenando:");
System.out.println(numerosInteiros);
}
}
Saída:
6
9
2
7
1
4
Ordenando:
[1, 2, 4, 6, 7, 9]
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.
package br.com.exercicio.modelo;
public class Titulo implements Comparable<Titulo> {
private String nome;
public String getNome() {
return nome;
}
@Override
public int compareTo(Titulo outroTitulo) {
return this.getNome().compareTo(outroTitulo.getNome());
}
}
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.
package br.com.exercicio.modelo;
public class Titulo implements Comparable<Titulo> {
private String nome;
public Titulo(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
@Override
public int compareTo(Titulo outroTitulo) {
return this.getNome().compareTo(outroTitulo.getNome());
}
@Override
public String toString() {
return "Nome: " + this.getNome();
}
}
package br.com.exercicio.principal;
import br.com.exercicio.modelo.Titulo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Principal {
public static void main(String[] args) {
Titulo titulo = new Titulo("João");
Titulo titulo2 = new Titulo("Aline");
Titulo titulo3 = new Titulo("Maria");
List<Titulo> nomes = new ArrayList<>();
nomes.add(titulo);
nomes.add(titulo2);
nomes.add(titulo3);
nomes.forEach(System.out::println);
Collections.sort(nomes);
System.out.println("\nOrdenando:");
for (Titulo titulos : nomes) {
System.out.println("Nome: " + titulos.getNome());
}
}
}
Saída:
Nome: João
Nome: Aline
Nome: Maria
Ordenando:
Nome: Aline
Nome: João
Nome: Maria
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.
package br.com.exercicio.principal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class Principal {
public static void main(String[] args) {
List<String> listaArrayList = new ArrayList<>();
listaArrayList.add("A");
listaArrayList.add("D");
listaArrayList.add("C");
listaArrayList.add("B");
List<String> listaLinkedList = new LinkedList<>();
listaLinkedList.add("2");
listaLinkedList.add("4");
listaLinkedList.add("1");
listaLinkedList.add("3");
System.out.println("ArrayList: " + listaArrayList);
Collections.sort(listaArrayList);
System.out.println("Ordenando: " + listaArrayList);
System.out.println("\nArrayList: " + listaLinkedList);
Collections.sort(listaLinkedList);
System.out.println("Ordenando: " + listaLinkedList);
}
}
Modifique o Exercício 4 para declarar a variável de lista como a interface List, demonstrando o uso de polimorfismo.
package br.com.exercicio.principal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
public class Principal {
public static void main(String[] args) {
List<String> polimorfismo;
polimorfismo = new ArrayList<>();
polimorfismo.add("Elemento A");
polimorfismo.add("Elemento B");
System.out.println("\nArrayList: " + polimorfismo);
polimorfismo = new LinkedList<>();
polimorfismo.add("Elemento 1");
polimorfismo.add("Elemento 2");
System.out.println("LinkedList: " + polimorfismo);
}
}