Guest User

Untitled

a guest
Jan 17th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.59 KB | None | 0 0
  1. // EXERCICIO PARA COMPARAR DOIS OBJETOS, USANDO CLASSE NATIVA DE COMPARAÇÃO DO JAVA
  2.  
  3. public static void main(String[] args) {
  4. FilaComPrioridade<Paciente> fila = new FilaComPrioridade<>();
  5.  
  6. // CLASSE ANONIMA DENTRO DO NOSSO PROJETO.
  7. Queue<Paciente> filaComPrioridade = new PriorityQueue<>(new Comparator<Paciente>() {
  8. @Override
  9. public int compare(Paciente p1, Paciente p2) {
  10. return Integer.valueOf(p1.getPrioridade()).compareTo(p2.getPrioridade());
  11. }
  12. });
  13.  
  14. filaComPrioridade.add(new Paciente("A", 2));
  15. filaComPrioridade.add(new Paciente("B1", 1));
  16. filaComPrioridade.add(new Paciente("B2", 1));
  17. filaComPrioridade.add(new Paciente("B3", 1));
  18. filaComPrioridade.add(new Paciente("B4", 1));
  19. filaComPrioridade.add(new Paciente("C", 3));
  20.  
  21. fila.enfileira(new Paciente("A", 2));
  22. fila.enfileira(new Paciente("B1", 1));
  23. fila.enfileira(new Paciente("B2", 1));
  24. fila.enfileira(new Paciente("B3", 1));
  25. fila.enfileira(new Paciente("B4", 1));
  26. fila.enfileira(new Paciente("C", 3));
  27.  
  28. System.out.println(filaComPrioridade);
  29. System.out.println(fila);
  30. }
  31.  
  32. package pt.estruturadedados.base.fila;
  33.  
  34. @Override
  35. public void enfileira(T elemento) {
  36.  
  37. Comparable<T> chave = (Comparable<T>) elemento;
  38.  
  39. int i;
  40. for (i = 0; i < this.tamanho; i++) {
  41. if (chave.compareTo(this.elementos[i]) < 0) {
  42. break;
  43. }
  44. }
  45. this.adiciona(i, elemento);
  46. }
  47.  
  48. @Override
  49. public int compareTo(Paciente o) {
  50.  
  51. return Integer.valueOf(this.getPrioridade()).compareTo(o.getPrioridade()); //Forma mais elegante de fazer.
  52. }
Add Comment
Please, Sign In to add comment