Java 寻找 HashSet的最大元素

Java 寻找 HashSet的最大元素

Java HashSet类用于创建集合,该集合使用散列表进行存储,其使用的机制被称为散列。是Set的实现类。它继承了抽象类并实现了et接口。它的主要特征是不允许重复,并在内部使用哈希表。

插图: 查找HashSet中的最大元素。

输入: [24, 56, 87, 64, 29, 2, 65]
输出: 87

输入: [45, 3, 65, 32, 64, 12, 43]
输出: 65
Java

方法:

  • 使用For-each循环(天真的方法)。
  • 使用HashSet的Collection.max()方法(最佳方法)。

方法1: 使用for-loop来打印HashSet中的最大元素。

步骤:

1.创建一个HashSet的对象
2.向创建的对象添加元素
3.创建一个变量并将其赋值为MIN_VALUE
4.使用for each循环进行迭代

请记住。

  • 在计算最大值时,将-∞作为初始最大值。
  • 在计算最小值时,将+∞作为初始min

示例 1

// 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);
    }
}
Java

输出

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

时间复杂度。O(n),其中n是HashSet中的元素数量。

方法2: 使用集合类中HashSet的Collection.max()方法。

语法:

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

参数: 作为一个参数,其最大元素有待确定。

返回值: 的,根据其元素的自然排序。

例外情况: 这个方法会抛出以下异常。

  • 如果集合中包含不能相互比较的元素(例如,字符串和整数),会出现ClassCastException。
  • 如果集合为空,则出现NoSuchElementException

步骤:

1.创建一个HashSet的对象
2.向创建的对象添加元素
3.使用Collection.max()方法来显示创建后生成的非重复列表中最大的字符串。请注意,不会有单一的重复元素。

示例 2

// 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);
    }
}
Java

输出

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册