Encontrar el elemento mínimo de Java HashSet

La clase Java HashSet se usa para crear una colección que usará la colección que usa una tabla hash con fines de almacenamiento que usa el mecanismo conocido como hash. La clase de implementación de Set. Hereda la clase abstracta e implementa et interface . La característica principal es que no permite duplicados y usa una tabla hash internamente.

Ilustración: encuentre el elemento mínimo en un HashSet.

Ejemplo:

Input  : [24, 56, 87, 64, 29, 2, 65]
Output : 2

Input  : [45, 3, 65, 32, 64, 12, 43]
Output : 3

Métodos: 

  • Uso de un bucle For-each (enfoque Naive)
  • Usando el método Collection.min() de HashSet (enfoque óptimo)

Método 1: usar for-loop para imprimir el elemento máximo en un HashSet.

Acercarse:

  1. Crear un objeto de HashSet
  2. Agregar elementos al objeto creado
  3. Cree una variable y asígnele el valor MAX_VALUE
  4. Iterar usando para cada ciclo

Recuerda :

  • Al calcular el máximo, asigne -∞ como máximo inicial
  • Al calcular el mínimo, asigne +∞ como min inicial

Ejemplo 1

Java

// Java Program to find minimum element on HashSet
  
// Importing all java input output classes
// Importing Collection and HashSet class from
// java.util package
import java.io.*;
import java.util.Collections;
import java.util.HashSet;
  
// Class
class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Creating an object of HashSet (of Integer type)
        HashSet<Integer> gfg = new HashSet<Integer>();
  
        // Adding elements in above object of HashSet
        // Custom inputs
        gfg.add(24);
        gfg.add(56);
        gfg.add(87);
        gfg.add(64);
        gfg.add(29);
        gfg.add(2);
        gfg.add(65);
  
        // Print all the elements in the above HashSet
        System.out.println("Elements in HashSet = " + gfg);
  
        // Remember :
        // In computing maximum assign -∞ as initial max
        // In computing minimum assign +∞ as initial min
  
        // Initially assigning +(infinity) as max value
        // so as to get rid with garbage value issues.
        int min = Integer.MAX_VALUE;
  
        // For each loop to iterate over elements of HashSet
        // to find minimum among all elements in Set
        for (int var : gfg) {
  
            // For elements in Set
            if (var < min)
  
                // Update the minimum element
                min = var;
        }
  
        // Display final Minimum element in a HashSet
        // i.e after traversing the complete elements
        System.out.println("Minimum element in HashSet = "
                           + min);
    }
}
Producción

Elements in HashSet = [64, 65, 2, 87, 24, 56, 29]
Minimum element in HashSet = 2

Complejidad de tiempo: O(n) donde n es un número de elementos en un HashSet.

Método 2: Usar el método Collection.min() de HashSet de la clase de colección.

Sintaxis:

public static <T extends Object & Comparable<? super T>> T 
    min(Collection<? extends T> coll)

Parámetros: Este método toma como parámetro el cobro de la colección cuyo elemento mínimo se quiere determinar

Valor devuelto: este método devuelve el elemento mínimo de la colección dada, de acuerdo con el orden natural de sus elementos.

Excepción: NoSuchElementException

Acercarse:

  1. Crear un objeto de HashSet
  2. Agregar elementos al objeto creado
  3. Use el método Collection.min() para mostrar la string más pequeña entre la lista no duplicada generada después de la creación. Tenga en cuenta que no habrá un solo elemento duplicado.

Ejemplo 2

Java

// Java Program to find minimum element on HashSet
  
// Importing all java input output classes
// Importing Collection and HashSet class from
// java.util package
import java.io.*;
import java.util.Collections;
import java.util.HashSet;
  
// Class
class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Creating object of HashSet
        // Declaring String type objects
        HashSet<String> gfg = new HashSet<String>();
  
        // Adding element in above object of HashSet
        // Custom inputs
        gfg.add("Geekss");
        gfg.add("Geeks");
        gfg.add("Geek");
  
        // Print and display all elements inside the object
        // as. inserted above
        System.out.println("Elements in HashSet = " + gfg);
  
        // Using Collection.min() Method to find
        // minimum string in HashSet
        Object obj = Collections.min(gfg);
  
        // Display Maximum element in a HashSet
        System.out.println("Minimum String in a HashSet :"
                           + obj);
    }
}
Producción

Elements in HashSet = [Geekss, Geek, Geeks]
Minimum String in a HashSet :Geek

Publicación traducida automáticamente

Artículo escrito por aksrathod07 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 *