Java 寻找 HashSet的最大元素
Java HashSet类用于创建集合,该集合使用散列表进行存储,其使用的机制被称为散列。是Set的实现类。它继承了抽象类并实现了et接口。它的主要特征是不允许重复,并在内部使用哈希表。
插图: 查找HashSet中的最大元素。
输入: [24, 56, 87, 64, 29, 2, 65]
输出: 87
输入: [45, 3, 65, 32, 64, 12, 43]
输出: 65
方法:
- 使用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);
}
}
输出
Elements in HashSet = [64, 65, 2, 87, 24, 56, 29]
Maximum element in HashSet = 87
时间复杂度。O(n),其中n是HashSet中的元素数量。
方法2: 使用集合类中HashSet的Collection.max()方法。
语法:
public static <T extends Object & Comparable> T max(Collection coll)
参数: 作为一个参数,其最大元素有待确定。
返回值: 的,根据其元素的自然排序。
例外情况: 这个方法会抛出以下异常。
- 如果集合中包含不能相互比较的元素(例如,字符串和整数),会出现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);
}
}
输出
Elements in HashSet = [Geekss, Geek, Geeks]
Maximum element :Geekss