Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Collection;
- import java.util.HashSet;
- public class Votacao {
- private Long id;
- private final static Collection<Voto> VOTOS = new HashSet<>();
- public Votacao(Voto voto) {
- if(VOTOS.contains(voto)){
- System.err.println("Membro já votou!");
- }else{
- computaVoto(voto);
- }
- }
- public static Collection<Voto> getVotos() {
- return VOTOS;
- }
- private void computaVoto(Voto voto){
- VOTOS.add(voto);
- }
- @Override
- public String toString() {
- return VOTOS.toString();
- }
- public Long getId() {
- return id;
- }
- public static Collection<Voto> getVOTOS() {
- return VOTOS;
- }
- }
- import javax.persistence.*;
- import java.util.Objects;
- @Entity(name = "votos")
- public class Voto {
- @Id
- @GeneratedValue(strategy = GenerationType.IDENTITY)
- private Long id;
- @OneToOne
- private Membro votante;
- @OneToOne
- private Encaminhamento voto;
- public Voto(Membro membro, Encaminhamento encaminhamento) {
- this.setVotante(membro);
- this.setVoto(encaminhamento);
- }
- public Long getId() {
- return id;
- }
- public Membro getVotante() {
- return votante;
- }
- private void setVotante(Membro membro) {
- if(membro == null || membro.getNome() == null) {
- throw new IllegalArgumentException();
- } else {
- this.votante = membro;
- }
- }
- public Encaminhamento getVoto() {
- return voto;
- }
- private void setVoto(Encaminhamento voto) {
- if(voto == null){
- throw new IllegalArgumentException();
- } else {
- this.voto = voto;
- }
- }
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- Voto voto = (Voto) o;
- return Objects.equals(id, voto.id) &&
- Objects.equals(votante, voto.votante);
- }
- @Override
- public int hashCode() {
- return Objects.hash(id, votante, voto);
- }
- @Override
- public String toString() {
- return getVotante().getId()+" "+ getVotante().getNome() + " " + getVoto().getId() + " " + getVoto().getDescricao();
- }
- }
- class Voto {
- String voto;
- public Voto(String voto) {
- this.voto = voto;
- }
- public Voto() {
- }
- }
- Voto a = new Voto("Neymar");
- Voto b = new Voto("Ronaldinho");
- Voto c = new Voto("Ronaldinho");
- Voto d = new Voto("Rivaldo");
- HashSet<Voto> votos = new HashSet<>();
- Collections.addAll(votos, a, b, c, d);
- Map<String, List<Voto>> votosAgrupados = votos.stream().collect(Collectors.groupingBy(w -> w.voto));
- votosAgrupados.forEach((k,v)->System.out.println("Voto : " + k + " - Quantidade : " + v.size()));
- //Voto : Ronaldinho - Quantidade : 2
- //Voto : Rivaldo - Quantidade : 1
- //Voto : Neymar - Quantidade : 1
Add Comment
Please, Sign In to add comment