Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // EXERCICIO PARA COMPARAR DOIS OBJETOS, USANDO CLASSE NATIVA DE COMPARAÇÃO DO JAVA
- public static void main(String[] args) {
- FilaComPrioridade<Paciente> fila = new FilaComPrioridade<>();
- // CLASSE ANONIMA DENTRO DO NOSSO PROJETO.
- Queue<Paciente> filaComPrioridade = new PriorityQueue<>(new Comparator<Paciente>() {
- @Override
- public int compare(Paciente p1, Paciente p2) {
- return Integer.valueOf(p1.getPrioridade()).compareTo(p2.getPrioridade());
- }
- });
- filaComPrioridade.add(new Paciente("A", 2));
- filaComPrioridade.add(new Paciente("B1", 1));
- filaComPrioridade.add(new Paciente("B2", 1));
- filaComPrioridade.add(new Paciente("B3", 1));
- filaComPrioridade.add(new Paciente("B4", 1));
- filaComPrioridade.add(new Paciente("C", 3));
- fila.enfileira(new Paciente("A", 2));
- fila.enfileira(new Paciente("B1", 1));
- fila.enfileira(new Paciente("B2", 1));
- fila.enfileira(new Paciente("B3", 1));
- fila.enfileira(new Paciente("B4", 1));
- fila.enfileira(new Paciente("C", 3));
- System.out.println(filaComPrioridade);
- System.out.println(fila);
- }
- package pt.estruturadedados.base.fila;
- @Override
- public void enfileira(T elemento) {
- Comparable<T> chave = (Comparable<T>) elemento;
- int i;
- for (i = 0; i < this.tamanho; i++) {
- if (chave.compareTo(this.elementos[i]) < 0) {
- break;
- }
- }
- this.adiciona(i, elemento);
- }
- @Override
- public int compareTo(Paciente o) {
- return Integer.valueOf(this.getPrioridade()).compareTo(o.getPrioridade()); //Forma mais elegante de fazer.
- }
Add Comment
Please, Sign In to add comment