Bienvenidos sean a este post, en el caso de hoy hablaremos sobre la interfaz llamada Set y que es un Set? Un set es una coleccion que no puede contener elementos duplicados, tambien modela la abstraccion del set matematico, esta solo contiene metodos heredados de Collection y agrega las restricciones de elementos duplicados. Este agrega una restriccion mas fuerte en la conducta de las operaciones de equals() o hashCode(), permitiendo a las instancias de Set comparar significativamente inclusive si los tipos de implementacion difieren, veamos algunos de los metodos utilizados por esta interfaz:

  • add(), agrega un objeto a la coleccion
  • clear(), remueve todos los elementos de la coleccion
  • contains(), devuelve verdadero si el objeto se encuentra dentro de la coleccion
  • isEmpty(), devuelve verdadero si la coleccion no posee elementos
  • iterator(), devuelve un objeto Iterator para la coleccion, la cual se puede usar para obtener un objeto
  • remove(), quita un elemento especifico de la coleccion
  • size(), devuelve el numero de elementos de la coleccion

A continuacion veremos un ejemplo para entender el concepto de Set:

SetDemo.java:

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("La lista ordenada es ");
                        System.out.println(sortedSet);

                        System.out.println("El primer elemento es: "
                                + (Integer) sortedSet.first());
                        System.out.println("El ultimo elemento es: "
                                + (Integer) sortedSet.last());
                }
                catch(Exception e) {}
        }
}

En este ejemplo primero crearemos un array llamado count donde guardaremos seis numeros de tipo entero, luego crearemos un objeto de tipo Set llamado set, a la cual estableceremos como enteros (Integer), despues por medio de un try usaremos un bucle for donde agregaremos en set a cada uno de los numeros del array, esto por medio del indice y el metodo add, una vez terminado el bucle mostramos como quedo finalmente, despues por medio de TreeSet crearemos un objeto llamado sortedSet, el cual por medio de TreeSet ordenara a set, luego lo mostraremos en pantalla, las siguientes se encargaran de mostrar el primero y el ultimo elemento respectivamente de nuestro set ordenado (sortedSet), finalmente viene el catch pero no tendremos ninguna excepcion, esto es para que no falle el try, ahora si podemos compilarlo y probar nuestro programa donde nos devolvera la siguiente salida:

tinchicus@dbn001vrt:~/programacion/java/codigo$ java SetDemo
[34, 22, 10, 60, 30]
La lista ordenada es
[10, 22, 30, 34, 60]
El primer elemento es: 10
El ultimo elemento es: 60
tinchicus@dbn001vrt:~/programacion/java/codigo$

Como pueden ver la primera linea muestra el set como fue agregado, luego vemos a sortedSet, es decir el set ordenado y por ultimo las dos lineas con el primer y el ultimo elemento respectivamente.

En resumen, hemos visto que es la interfaz Set, cuales son sus metodos disponibles, un ejemplo donde lo pusimos en practica, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios