Java: la interfaz de conjunto
Un conjunto es una colección que no puede contener elementos duplicados. Modela la abstracción matemática del conjunto.
La interfaz Set contiene solo métodos heredados de Collection y agrega la restricción de que los elementos duplicados están prohibidos.
Set también agrega un contrato más fuerte sobre el comportamiento de las operaciones equals y hashCode, lo que permite comparar las instancias de Set de manera significativa incluso si sus tipos de implementación difieren.
Los métodos declarados por Set se resumen en la siguiente tabla:
No Señor. | Método y descripción |
---|---|
1 | add( ) Agrega un objeto a la colección. |
2 | clear( ) Elimina todos los objetos de la colección. |
3 | contains( ) Devuelve verdadero si un objeto especificado es un elemento dentro de la colección. |
4 | isEmpty( ) Devuelve verdadero si la colección no tiene elementos. |
5 | iterator( ) Devuelve un objeto Iterator para la colección, que se puede usar para recuperar un objeto. |
6 | remove( ) Elimina un objeto especificado de la colección. |
7 | size( ) Devuelve el número de elementos de la colección. |
Ejemplo
Set tiene su implementación en varias clases como HashSet, TreeSet, LinkedHashSet. A continuación se muestra un ejemplo para explicar la funcionalidad de 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) {}
}
}
Esto producirá el siguiente resultado:
Salida
[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