Programa Java para obtener los primeros o últimos elementos de HashSet

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:

  1. El enfoque ingenuo para insertar, agregar y luego mostrar los elementos deseados.
  2. 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);
    }
}
Producción

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);
    }
}
Producción

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

Deja una respuesta

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