寻找Java HashSet的最小元素
Java HashSet 类用于创建集合使用的集合,该集合使用散列表用于存储目的,使用称为散列的机制。 Set 的实现类。它继承了抽象类并实现了et接口。主要特征是它不允许重复并在内部使用哈希表。
插图:在 HashSet 中找到最小元素。
例子:
Input : [24, 56, 87, 64, 29, 2, 65]
Output : 2
Input : [45, 3, 65, 32, 64, 12, 43]
Output : 3
方法:
- 使用 For-each 循环(朴素的方法)
- 使用 HashSet 的Collection.min()方法(最优方法)
方法一:使用for循环打印HashSet中的最大元素。
方法:
- 创建一个HashSet对象
- 向创建的对象添加元素
- 创建一个变量并将其赋值为 MAX_VALUE
- 迭代使用每个循环
Remember :
- In computing maximum assign -∞ as initial max
- In computing minimum assign +∞ as initial min
示例 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 gfg = new HashSet();
// 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);
}
}
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 gfg = new HashSet();
// 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 = [64, 65, 2, 87, 24, 56, 29]
Minimum element in HashSet = 2
时间复杂度:O(n),其中 n 是 HashSet 中的元素数量。
方法二:使用集合类的HashSet的Collection.min()方法。
句法:
public static > T
min(Collection extends T> coll)
参数:该方法以集合coll为参数,确定其最小元素
返回值:此方法根据其元素的自然顺序返回给定集合的最小元素。
异常:如果集合为空,则此方法抛出NoSuchElementException。
方法:
- 创建一个HashSet对象
- 向创建的对象添加元素
- 使用Collection.min()方法显示创建后生成的非重复列表中最小的字符串。请注意,不会有单个重复元素。
示例 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 gfg = new HashSet();
// 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