O construtor da classe TreeSet aceita um parametro do tipo Comparator, teria algum exemplo para eu ver?
O construtor da classe TreeSet aceita um parametro do tipo Comparator, teria algum exemplo para eu ver?
Esquece, a resposta está entre as atividades seguintes... hehehe
Bom dia Guilherme, conseguiu resolver ai?
/*
A resposta à sua dúvida está no exercício https://cursos.alura.com.br/course/java-collections/task/14216
deste mesmo curso ... aqui vai um resumo.
Classe que será utilizada pelo exemplo
*/
public class Funcionario {
private String nome; private int idade;
public Funcionario(String nome, int idade) { this.nome = nome; this.idade = idade; }
public String getNome() { return this.nome; }
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() { return this.idade; }
public void setIdade(int idade) { this.idade = idade; } }
/*
Classe responsável por implementar a comparação a ser passada para o construtor do TreeSet:
*/
import java.util.Comparator;
public class OrdenaPorIdade implements Comparator{
@Override public int compare(Funcionario funcionario, Funcionario outroFuncionario) { return funcionario.getIdade() - outroFuncionario.getIdade(); }
}
/*
Classe que cria o TreeSet, inclui alguns funcionários e executa a ordenação usando o comparador
*/
import java.util.Iterator; import java.util.Set; import java.util.TreeSet;
public class Teste {
public static void main(String args[]) {
Funcionario f1 = new Funcionario("Barney", 12); Funcionario f2 = new Funcionario("Jonatan", 9); Funcionario f3 = new Funcionario("Guaraciara", 13);
Set funcionarios = new TreeSet<>(new OrdenaPorIdade()); funcionarios.add(f1); funcionarios.add(f2); funcionarios.add(f3);
Iterator iterador = funcionarios.iterator();
while (iterador.hasNext()) { System.out.println(iterador.next().getNome()); } } }
Boa!!