Queria verificar quanto ao uso desta forma.
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
class Titulo implements Comparable {
String nome;
int idade;
Double altura;
String cor;
public void dados(String nome, int idade, Double altura, String cor) {
this.nome = nome;
this.cor = cor;
this.idade = idade;
this.altura = altura;
}
@Override
public int compareTo(Titulo outroTitulo) {
return this.nome.compareTo(outroTitulo.nome);
}
@Override
public String toString() {
return nome + ", " + idade + " anos, " + altura + " cm, " + cor;
}
}
public class Novo {
public static void main(String[] args) {
Titulo meusDados = new Titulo();
meusDados.dados("Skolly", 27, 1.74, "Negro");
Titulo meusDados01 = new Titulo();
meusDados01.dados("Thainá", 25, 1.58, "Branco");
Titulo meusDados02 = new Titulo();
meusDados02.dados("Milton", 28, 1.80, "Branco");
//Dá para ser utilizado ArayList() e LinkedList(), cada um tem suas vantagens, mais na parte de estrutura de dados
//list<Titulo> titulo = new ArrayList();
List<Titulo> titulo; //Também dá para ser feito assim (Interface List), usando o polimorfismno
titulo = new LinkedList<>(); // INterface List
titulo.add(meusDados);
titulo.add(meusDados01);
titulo.add(meusDados02);
Collections.sort(titulo);
System.out.println("Lista ordenada por Nome: ");
for (Titulo amigos : titulo) {
System.out.println(amigos);
}
Collections.sort(titulo);
titulo.sort((a, b) -> Integer.compare(a.idade, b.idade));
System.out.println("\nLista ordenada por idade: ");
for (Titulo porIdade : titulo) {
System.out.println(porIdade);
}
Collections.sort(titulo);
titulo.sort((a, b) -> Double.compare(a.altura, b.altura));
System.out.println("\nLista ordenada por altura: ");
for (Titulo porAltura : titulo) {
System.out.println(porAltura);
}
}
}