Guest User

Untitled

a guest
May 26th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. import java.util.Collection;
  2. import java.util.HashSet;
  3.  
  4. public class Votacao {
  5.  
  6. private Long id;
  7.  
  8. private final static Collection<Voto> VOTOS = new HashSet<>();
  9.  
  10. public Votacao(Voto voto) {
  11. if(VOTOS.contains(voto)){
  12. System.err.println("Membro já votou!");
  13. }else{
  14. computaVoto(voto);
  15. }
  16. }
  17.  
  18. public static Collection<Voto> getVotos() {
  19. return VOTOS;
  20. }
  21.  
  22. private void computaVoto(Voto voto){
  23. VOTOS.add(voto);
  24. }
  25.  
  26. @Override
  27. public String toString() {
  28. return VOTOS.toString();
  29. }
  30.  
  31. public Long getId() {
  32. return id;
  33. }
  34.  
  35. public static Collection<Voto> getVOTOS() {
  36. return VOTOS;
  37. }
  38. }
  39.  
  40. import javax.persistence.*;
  41. import java.util.Objects;
  42.  
  43. @Entity(name = "votos")
  44. public class Voto {
  45.  
  46. @Id
  47. @GeneratedValue(strategy = GenerationType.IDENTITY)
  48. private Long id;
  49.  
  50. @OneToOne
  51. private Membro votante;
  52.  
  53. @OneToOne
  54. private Encaminhamento voto;
  55.  
  56. public Voto(Membro membro, Encaminhamento encaminhamento) {
  57. this.setVotante(membro);
  58. this.setVoto(encaminhamento);
  59. }
  60.  
  61. public Long getId() {
  62. return id;
  63. }
  64.  
  65. public Membro getVotante() {
  66. return votante;
  67. }
  68.  
  69. private void setVotante(Membro membro) {
  70. if(membro == null || membro.getNome() == null) {
  71. throw new IllegalArgumentException();
  72. } else {
  73. this.votante = membro;
  74. }
  75. }
  76.  
  77. public Encaminhamento getVoto() {
  78. return voto;
  79. }
  80.  
  81. private void setVoto(Encaminhamento voto) {
  82. if(voto == null){
  83. throw new IllegalArgumentException();
  84. } else {
  85. this.voto = voto;
  86. }
  87. }
  88.  
  89. @Override
  90. public boolean equals(Object o) {
  91. if (this == o) return true;
  92. if (o == null || getClass() != o.getClass()) return false;
  93. Voto voto = (Voto) o;
  94. return Objects.equals(id, voto.id) &&
  95. Objects.equals(votante, voto.votante);
  96. }
  97.  
  98. @Override
  99. public int hashCode() {
  100. return Objects.hash(id, votante, voto);
  101. }
  102.  
  103. @Override
  104. public String toString() {
  105. return getVotante().getId()+" "+ getVotante().getNome() + " " + getVoto().getId() + " " + getVoto().getDescricao();
  106. }
  107. }
  108.  
  109. class Voto {
  110. String voto;
  111.  
  112. public Voto(String voto) {
  113. this.voto = voto;
  114. }
  115.  
  116. public Voto() {
  117. }
  118. }
  119.  
  120. Voto a = new Voto("Neymar");
  121. Voto b = new Voto("Ronaldinho");
  122. Voto c = new Voto("Ronaldinho");
  123. Voto d = new Voto("Rivaldo");
  124.  
  125. HashSet<Voto> votos = new HashSet<>();
  126. Collections.addAll(votos, a, b, c, d);
  127.  
  128. Map<String, List<Voto>> votosAgrupados = votos.stream().collect(Collectors.groupingBy(w -> w.voto));
  129.  
  130. votosAgrupados.forEach((k,v)->System.out.println("Voto : " + k + " - Quantidade : " + v.size()));
  131.  
  132. //Voto : Ronaldinho - Quantidade : 2
  133. //Voto : Rivaldo - Quantidade : 1
  134. //Voto : Neymar - Quantidade : 1
Add Comment
Please, Sign In to add comment