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:
- Crear un objeto de HashSet
- Agregar elementos al objeto creado
- Cree una variable y asígnele el valor MAX_VALUE
- 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); } }
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:
- Crear un objeto de HashSet
- Agregar elementos al objeto creado
- 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); } }
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