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