Conjunto genérico en Java

La interfaz Set está presente en el paquete java.util . Es básicamente una colección de objetos sin objetos duplicados , lo que significa que no puede haber dos objetos en un Conjunto e1 y e2 tales que e1.equals(e2) y como máximo un elemento nulo . Es una interfaz que modela el conjunto matemático . Esta interfaz hereda las funciones de la interfaz Colección y coloca una función que restringe la adición de elementos duplicados por sí misma. Las dos interfaces que implementan la interfaz Set son SortedSet y NavigableSet ..

Generic Set In Java

En esta imagen, el NavigableSet hereda/extiende el SortedSet. Ahora, dado que el Conjunto no conserva el orden original de inserción de elementos, NavigableSet proporciona la implementación de esta interfaz para navegar por el conjunto. TreeSet, que es una implementación de Red-Black Tree e implementa NavigableSet.

Declaración de una interfaz de conjunto 

public interface Set extends Collection{

}

Sintaxis de un conjunto

Set< Integer > set = new HashSet< Integer >();

Ahora, esto está dirigido solo al tipo de datos Integer. es decir, sólo se pueden poner instancias de enteros en el conjunto. Si intentamos poner algo más en el Conjunto, el compilador dará un error. Las comprobaciones de tipo genérico se producen en el momento de la compilación.

Sintaxis de un conjunto genérico

Set< T > set = new HashSet< T >();

La sintaxis anterior es una forma generalizada de usar T para mostrar el comportamiento genérico de un Conjunto, lo que significa que T se puede reemplazar con cualquier tipo no primitivo como Integer, String, Double, Character o cualquier tipo definido por el usuario.

Adición de elementos a un conjunto genérico

El método add() se usa para agregar elementos en un conjunto. Si el elemento ya existe en el Conjunto, devuelve falso

Set<Character> set = new HashSet<Character>();

Character ch = 'a';
set.add(ch);

La diferencia es que si intentamos agregar algo que no es un carácter, el compilador mostrará un error.

Iterando un conjunto genérico

1.  Podemos usar un iterador para iterar sobre un conjunto.

Set<Integer> set = new HashSet<Integer>();
    
Iterator<Iterator> it = set.iterator();

while(it.hasNext()){
  Integer aInt = iterator.next();
}

2.  Otra forma de iterar sobre un conjunto es usar un bucle for genérico .

Set<String> set = new HashSet<String>;

for(String st : set) {
    System.out.println(st);
}

Ejemplo:

Java

// Java program to demonstrate Generic Set
  
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
  
public class GenericSet {
    public static void main(String[] args)
    {
        // create an instance of Set using
        // generics
        Set<Integer> set1 = new HashSet<Integer>();
  
        // Add elements
        set1.add(100);
        set1.add(Integer.valueOf(101));
  
        // Create another set
        Set<String> set2 = new HashSet<String>();
  
        // Add elements
        set2.add("geeksforgeeks");
        set2.add("generics");
  
        // Iterate set1 using for-each loop
        for (Integer data : set1) {
            System.out.printf("Integer Value :%d\n", data);
        }
  
        // Iterate set2 using iterator
        Iterator<String> stringIt = set2.iterator();
  
        while (stringIt.hasNext()) {
            System.out.printf("String Value :%s\n",
                              stringIt.next());
        }
    }
}
Producción

Integer Value :100
Integer Value :101
String Value :geeksforgeeks
String Value :generics

Publicación traducida automáticamente

Artículo escrito por goelshubhangi3118 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *