fork download
  1. import java.util.*;
  2.  
  3. /* Name of the class has to be "Main" only if the class is public. */
  4. class Ideone
  5. {
  6. public static void main (String[] args) throws java.lang.Exception
  7. {
  8. List<ItemCultural> yourList = new ArrayList<ItemCultural>();
  9. yourList.add(new ItemCultural(4, false));
  10. yourList.add(new ItemCultural(2, true));
  11. yourList.add(new ItemCultural(2, false));
  12. yourList.add(new ItemCultural(5, true));
  13. yourList.add(new ItemCultural(1, true));
  14. yourList.add(new ItemCultural(1, false));
  15. yourList.add(new ItemCultural(3, true));
  16.  
  17. yourList.sort(new Comparator<ItemCultural>() {
  18. public int compare(ItemCultural a, ItemCultural b) {
  19. int result;
  20. if (a.isConsumido()) {
  21. result = b.isConsumido() ? 0 : 1;
  22. } else {
  23. result = b.isConsumido() ? -1 : 0;
  24. }
  25. if (result == 0) {
  26. result = a.getPrioridade() - b.getPrioridade();
  27. }
  28. return result;
  29. }
  30. });
  31. for (ItemCultural item : yourList) {
  32. System.out.println(item.getPrioridade() + " " + item.isConsumido());
  33. }
  34. }
  35. }
  36.  
  37. class ItemCultural {
  38. private int prioridade;
  39. private boolean consumido;
  40.  
  41. ItemCultural(int prioridade, boolean consumido) {
  42. this.prioridade = prioridade;
  43. this.consumido = consumido;
  44. }
  45.  
  46. public int getPrioridade() {
  47. return this.prioridade;
  48. }
  49.  
  50. public boolean isConsumido() {
  51. return this.consumido;
  52. }
  53. }
  54.  
Success #stdin #stdout 0.11s 320576KB
stdin
Standard input is empty
stdout
1 false
2 false
4 false
1 true
2 true
3 true
5 true