La clase HashSet implementa la interfaz Set , respaldada por una tabla hash que en realidad es una instancia de HashMap . No se garantiza el orden de iteración del conjunto, lo que significa que la clase no garantiza el orden constante de los elementos a lo largo del tiempo. Esta clase permite el elemento nulo. La clase también ofrece un rendimiento de tiempo constante para las operaciones básicas como agregar, eliminar, contener y dimensionar, suponiendo que la función hash dispersa los elementos correctamente entre los cubos, que veremos más adelante en el artículo.
HashSet no garantiza el orden constante de los elementos a lo largo del tiempo, lo que significa que cuando iteramos un HashSet, no hay garantía de que obtengamos el mismo orden de elementos que agregamos en orden. Entonces no hay un primer o último elemento en HashSet. Pero podemos encontrar el primer o el último elemento en HashSet según cómo almacene los elementos. A través de una iteración simple sobre el HashSet.
Enfoques:
- El enfoque ingenuo para insertar, agregar y luego mostrar los elementos deseados.
- Usando el flujo , con la ayuda de los métodos incorporados findFirst() y get() .
Ejemplo 1: Imprimiendo el primer elemento y el último elemento de HashMap.
Java
// Java Program to Get First or // Last Elements from Java HashSet // Importing java generic libraries import java.util.*; public class GFG { // Main driver method public static void main(String[] args) { // Creating a HashSet HashSet<Integer> set = new HashSet<>(); // Add data to Hashset set.add(10); set.add(20); set.add(20); set.add(10); set.add(50); set.add(40); // Initializing first element as 0 from outside // instead of garbage value involvement int firstEle = 0; // Iterate HashSet using for each loop for (int val : set) { firstEle = val; break; } // int lastEle = 0; // Print HashSet System.out.println("HashSet : " + set); // Print First element System.out.println("First element of HashSet : " + firstEle); } }
HashSet : [50, 20, 40, 10] First element of HashSet : 50
Método 2: uso de flujos para encontrar el primer elemento en HashSet, con la ayuda de los métodos findFirst() y get() en Java.
Sintaxis:
set.stream().findFirst().get()
Tipo de devolución: devolver el primer elemento del HashMap
Excepciones: si HashSet está vacío , get() genera un error (java.util.NoSuchElementException).
Ejemplo:
Java
// Java code to find the first element // in HashSet with the help of stream // Importing generic java libraries import java.util.*; public class GFG { // Main driver method public static void main(String[] args) { // Creating a new HashSet HashSet<Integer> set = new HashSet<>(); // Add data to Hashset set.add(10); set.add(20); set.add(20); set.add(10); set.add(50); set.add(40); // Find the first element in HashSet // using stream and findFirst method int firstEle = set.stream().findFirst().get(); // Print HashSet System.out.println("HashSet : " + set); // Print First element of HashSet System.out.println("First element of HashSet : " + firstEle); } }
HashSet : [50, 20, 40, 10] First element of HashSet : 50
Publicación traducida automáticamente
Artículo escrito por nikhilchhipa9 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA