Exercício 1: Ordenação de Lista de Inteiros com Collections.sort
import java.util.ArrayList;
import java.util.Collections; // Importe a classe Collections
import java.util.List; // Importe a interface List
public class Exercicio1 {
public static void main(String[] args) {
// Crie uma lista de números inteiros (usando ArrayList)
List<Integer> numeros = new ArrayList<>();
// Adicione alguns números à lista
numeros.add(50);
numeros.add(10);
numeros.add(30);
numeros.add(20);
numeros.add(40);
numeros.add(5);
System.out.println("--- Lista Original ---");
System.out.println(numeros);
// Utilize o método Collections.sort para ordená-la em ordem crescente
Collections.sort(numeros);
System.out.println("\n--- Lista Ordenada (Crescente) ---");
// Imprima a lista ordenada
System.out.println(numeros);
}
}
Exercício 2: Classe Titulo com Comparable
// Titulo.java
public class Titulo implements Comparable<Titulo> {
private String nome;
public Titulo(String nome) {
this.nome = nome;
}
public String getNome() {
return nome;
}
// Método para exibir o título (útil para impressão)
@Override
public String toString() {
return "Título: " + nome;
}
// Implementação da interface Comparable
// Compara títulos com base em seus nomes (ordem alfabética)
@Override
public int compareTo(Titulo outroTitulo) {
return this.nome.compareTo(outroTitulo.nome);
}
}
Exercício 3: Ordenação de Objetos Titulo
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Exercicio3 {
public static void main(String[] args) {
// Crie alguns objetos da classe Titulo
Titulo titulo1 = new Titulo("A Bela e a Fera");
Titulo titulo2 = new Titulo("Zootopia");
Titulo titulo3 = new Titulo("Carros");
Titulo titulo4 = new Titulo("Divertida Mente");
// Adicione-os a uma lista
List<Titulo> listaDeTitulos = new ArrayList<>();
listaDeTitulos.add(titulo1);
listaDeTitulos.add(titulo2);
listaDeTitulos.add(titulo3);
listaDeTitulos.add(titulo4);
System.out.println("--- Lista de Títulos Original ---");
for (Titulo titulo : listaDeTitulos) {
System.out.println(titulo);
}
// Utilize o método Collections.sort para ordenar a lista
// Collections.sort usa o método compareTo que implementamos em Titulo
Collections.sort(listaDeTitulos);
System.out.println("\n--- Lista de Títulos Ordenada por Nome ---");
// Imprima os títulos ordenados
for (Titulo titulo : listaDeTitulos) {
System.out.println(titulo);
}
}
}
Exercício 4: ArrayList vs LinkedList com Interface List
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List; // Importe a interface List
public class Exercicio4 {
public static void main(String[] args) {
System.out.println("--- Usando ArrayList ---");
// Crie uma lista utilizando a interface List e instancie-a como ArrayList
List<String> listaArrayList = new ArrayList<>();
// Adicione elementos
listaArrayList.add("Elemento A");
listaArrayList.add("Elemento B");
listaArrayList.add("Elemento C");
// Imprima a lista
System.out.println("Conteúdo da lista (ArrayList): " + listaArrayList);
System.out.println("\n--- Usando LinkedList ---");
// Crie uma lista utilizando a interface List e instancie-a como LinkedList
List<String> listaLinkedList = new LinkedList<>();
// Adicione elementos
listaLinkedList.add("Item 1");
listaLinkedList.add("Item 2");
listaLinkedList.add("Item 3");
listaLinkedList.add("Item 4");
// Imprima a lista
System.out.println("Conteúdo da lista (LinkedList): " + listaLinkedList);
System.out.println("\n--- Demonstração de facilidade de troca ---");
// Podemos facilmente atribuir uma LinkedList a uma variável do tipo List
List<String> minhaListaGenerica = new LinkedList<>();
minhaListaGenerica.add("Um");
minhaListaGenerica.add("Dois");
System.out.println("Minha lista genérica (agora LinkedList): " + minhaListaGenerica);
// E então, mudar para ArrayList (se necessário)
minhaListaGenerica = new ArrayList<>();
minhaListaGenerica.add("Três");
minhaListaGenerica.add("Quatro");
System.out.println("Minha lista genérica (agora ArrayList): " + minhaListaGenerica);
}
}