Java - a interface definida
Um conjunto é uma coleção que não pode conter elementos duplicados. Ele modela a abstração matemática do conjunto.
A interface Set contém apenas métodos herdados de Collection e adiciona a restrição de que elementos duplicados são proibidos.
Set também adiciona um contrato mais forte sobre o comportamento das operações equals e hashCode, permitindo que as instâncias de Set sejam comparadas de forma significativa, mesmo se seus tipos de implementação forem diferentes.
Os métodos declarados por Set estão resumidos na tabela a seguir -
Sr. Não. | Método e Descrição |
---|---|
1 | add( ) Adiciona um objeto à coleção. |
2 | clear( ) Remove todos os objetos da coleção. |
3 | contains( ) Retorna verdadeiro se um objeto especificado for um elemento da coleção. |
4 | isEmpty( ) Retorna verdadeiro se a coleção não tiver elementos. |
5 | iterator( ) Retorna um objeto Iterator para a coleção, que pode ser usado para recuperar um objeto. |
6 | remove( ) Remove um objeto especificado da coleção. |
7 | size( ) Retorna o número de elementos da coleção. |
Exemplo
Set tem sua implementação em várias classes como HashSet, TreeSet, LinkedHashSet. A seguir está um exemplo para explicar a funcionalidade Set -
import java.util.*;
public class SetDemo {
public static void main(String args[]) {
int count[] = {34, 22,10,60,30,22};
Set<Integer> set = new HashSet<Integer>();
try {
for(int i = 0; i < 5; i++) {
set.add(count[i]);
}
System.out.println(set);
TreeSet sortedSet = new TreeSet<Integer>(set);
System.out.println("The sorted list is:");
System.out.println(sortedSet);
System.out.println("The First element of the set is: "+ (Integer)sortedSet.first());
System.out.println("The last element of the set is: "+ (Integer)sortedSet.last());
}
catch(Exception e) {}
}
}
Isso produzirá o seguinte resultado -
Resultado
[34, 22, 10, 60, 30]
The sorted list is:
[10, 22, 30, 34, 60]
The First element of the set is: 10
The last element of the set is: 60