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 ..
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()); } } }
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