Encontrar el elemento máximo 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áximo en un HashSet.

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

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

Métodos: 

  • Uso de un bucle For-each (enfoque Naive)
  • Usando el método Collection.max() 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   MIN_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 maximum 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 deal with garbage value issues.
        int max = Integer.MIN_VALUE;
  
        // For each loop to iterate over elements of HashSet
        // to find maximum among all elements in Set
        for (int var : gfg) {
  
            // For elements in Set
            if (var > max)
  
                // Update the current maximum element
                max = var;
        }
  
        // Display and print the
        // maximum element in a HashSet
        System.out.println("Maximum element in HashSet = "
                           + max);
    }
}
Producción

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

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

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

Sintaxis:

public static <T extends Object & Comparable> T max(Collection coll)

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

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

Excepción: este método arroja la siguiente excepción:

Acercarse:

  1. Crear un objeto de HashSet
  2. Agregar elementos al objeto creado
  3. Use el método Collection.max() para mostrar la string más grande 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 maximum 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
        System.out.println("Elements in HashSet = " + gfg);
  
        // Using Collection.max() Method to find
        // max string in HashSet
        Object obj = Collections.max(gfg);
  
        // Display Maximum element in a HashSet
        System.out.println("Maximum element :" + obj);
    }
}
Producción

Elements in HashSet = [Geekss, Geek, Geeks]
Maximum element :Geekss

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 *