4
respostas

Exemplo

O construtor da classe TreeSet aceita um parametro do tipo Comparator, teria algum exemplo para eu ver?

4 respostas

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!!