Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Implementando

Implementei o que foi mostrado na aula e gostaria de mostrar para vocês.

package Principal;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

import funcionario.Gerente;

public class TestaComparator {

    public static void main(String[] args) {
        //Instaciação da Classe Gerente
        Gerente gerente = new Gerente("Mauriciu", "Guedes", "232.111.333-22", 3245.53f);
        Gerente gerente2 = new Gerente("Paulo", "Silveira", "222.111.333-22", 3867.46f);
        Gerente gerente3 = new Gerente("Carlos", "Araujo", "344.123.113-32", 3120.49f);
        Gerente gerente4 = new Gerente("Matheus", "Oliver", "311.232.211-11", 3231.59f);
        Gerente gerente5 = new Gerente("Aluísio", "Pêra", "211.323.123-33", 3768.89f);
        Gerente gerente6 = new Gerente("Cornélio", "Lima", "377.432.643-11", 3120.49f);

        //Adição das referências ao Array
        List<Gerente> gerentes = new ArrayList<Gerente>();
        gerentes.add(gerente);
        gerentes.add(gerente2);
        gerentes.add(gerente3);
        gerentes.add(gerente4);
        gerentes.add(gerente5);
        gerentes.add(gerente6);

        //Percorre o for antes do Compare
        for (Gerente arrayGerentes : gerentes) {
            System.out.println(arrayGerentes);
            System.out.println();
        }

        //Instanciando o Objeto
        SalarioComparator salarioComparador = new SalarioComparator();
        GerenteComparator gerenteComparador = new GerenteComparator();

        //Chamando os metédos que comparam os Objetos
        gerentes.sort(salarioComparador);
        gerentes.sort(gerenteComparador);

        System.out.println("-----------------------------------------");

        //Percorre o for depois do Compare
        for (Gerente arrayGerentes : gerentes) {
            System.out.println(arrayGerentes);
            System.out.println();
        }
    }
}

//Classe para comoparar o Gerente, implementa o Comparator
 class GerenteComparator implements Comparator<Gerente> {

    @Override //Compara os gerentes pelo nome
    public int compare(Gerente g1, Gerente g2) {
        String primeiroGerente = g1.getNome();
        String segundoGerente = g2.getNome();

        //Compara e retorna em ordem alfabetica
        return primeiroGerente.compareTo(segundoGerente);
    }

 }

//Classe para comparar que implementa o Comparator
 class SalarioComparator implements Comparator<Gerente> {

    @Override //método para comparar Objetos
    public int compare(Gerente g1, Gerente g2) {

        if (g1.getSalario() < g2.getSalario()) {
            return 1;
        } 

        if (g1.getSalario() > g2.getSalario()) {
            return -1;
        }

        return 0;
    }

}

O que acharam do código? Tudo certinho?

1 resposta
solução!

Oi Lucas!

Muito bom! Parabéns pelo empenho nos estudos!

Continue praticando e qualquer dúvida pode contar com a gente.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software