A interface Set estende a interface Collection. A principal característica é que não permite objetos duplicados. Entenda-se como objeto duplicado dois objetos que possuem o mesmo código hash gerado pelo método hashCode() da classe principal e que retornem verdadeiros na comparação feita pelo método equals().
Criamos a classe principal Aluno:
Criamos a classe principal Aluno:
package SetLista; import java.io.Serializable; public class Aluno implements Serializable { private static final long serialVersionUID = -1795487259104879525L; private Long id; private String nome; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public Aluno() { this.id = 0L; this.nome = ""; } public Aluno(Long id, String nome) { this.id = id; this.nome = nome; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Aluno other = (Aluno) obj; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; return true; } }
Criamos o método principal:
package SetLista; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class Main { public static void main(String[] args) { Set AlunosSet = new HashSet(); Aluno aluno = new Aluno(1L, "Ferran"); Aluno aluno2 = new Aluno(2L, "Afrain"); AlunosSet.add(aluno); AlunosSet.add(aluno2); Iterator it = AlunosSet.iterator(); while (it.hasNext()) { Aluno a = it.next(); System.out.println("*************"); System.out.print(a.getId()); System.out.println(" - "+a.getNome()); } System.out.println("Nº de alunos cadastrados na lista: " + AlunosSet.size()); } }
- 9: Utilizando a Interface Set, criamos uma lista do tipo HashSet.
- 11 - 12: Criamos duas instâncias de Aluno e atribuímos valores.
- 17: Criamos uma instância de Iterator e atribuímos o resultado do método iterator da nossa lista.
- 19: Percorremos a lista com o nosso iterator.
- 20: Criamos uma instância de aluno que recebe cada objeto da lista em cada loop.
0 comentarios:
Postar um comentário