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:
- Crear un objeto de HashSet
- Agregar elementos al objeto creado
- Cree una variable y asígnele el valor MIN_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 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); } }
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:
- ClassCastException si la colección contiene elementos que no son comparables entre sí (por ejemplo, strings y números enteros).
- NoSuchElementException si la colección está vacía
Acercarse:
- Crear un objeto de HashSet
- Agregar elementos al objeto creado
- 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); } }
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