📌  相关文章
📜  从 HashSet 中获取第一个或最后一个元素的Java程序

📅  最后修改于: 2022-05-13 01:54:49.721000             🧑  作者: Mango

从 HashSet 中获取第一个或最后一个元素的Java程序

HashSet类实现了 Set 接口,由一个哈希表支持,它实际上是一个 HashMap 实例。不保证集合的迭代顺序,这意味着该类不保证元素随时间的恒定顺序。此类允许空元素。该类还为基本操作(如添加、删除、包含和大小)提供恒定的时间性能,假设散列函数将元素正确地分散在存储桶中,我们将在文章中进一步介绍。

HashSet 不保证元素的顺序随时间保持不变,这意味着当我们迭代 HashSet 时,不能保证我们得到的元素顺序与我们按顺序添加的顺序相同。所以HashSet中没有第一个或最后一个元素。但是,我们可以根据它存储元素的方式找到 HashSet 中的第一个或最后一个元素。通过简单的迭代HashSet。

方法:

  1. 插入、添加然后显示所需元素的幼稚方法。
  2. findFirst()get()内置方法的帮助下使用流。

示例 1:打印 HashMap 的第一个元素和最后一个元素。

Java
// Java Program to Get First or
// Last Elements from Java HashSet
 
// Importing java generic libraries
import java.util.*;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating a HashSet
        HashSet set = new HashSet<>();
 
        // Add data to Hashset
        set.add(10);
        set.add(20);
        set.add(20);
        set.add(10);
        set.add(50);
        set.add(40);
 
        // Initializing first element as 0 from outside
        // instead of garbage value involvement
        int firstEle = 0;
 
        // Iterate HashSet using for each loop
        for (int val : set) {
            firstEle = val;
            break;
        }
 
        // int lastEle = 0;
 
        // Print HashSet
        System.out.println("HashSet : " + set);
 
        // Print First element
        System.out.println("First element of HashSet : "
                           + firstEle);
    }
}


Java
// Java code to find the first element
// in HashSet with the help of stream
 
// Importing generic java libraries
import java.util.*;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating a new HashSet
        HashSet set = new HashSet<>();
 
        // Add data to Hashset
        set.add(10);
        set.add(20);
        set.add(20);
        set.add(10);
        set.add(50);
        set.add(40);
 
        // Find the first element in HashSet
        // using stream and findFirst method
        int firstEle = set.stream().findFirst().get();
 
        // Print HashSet
        System.out.println("HashSet : " + set);
 
        // Print First element of HashSet
        System.out.println("First element of HashSet : "
                           + firstEle);
    }
}


输出
HashSet : [50, 20, 40, 10]
First element of HashSet : 50

方法二:使用流查找HashSet中的第一个元素,借助findFirst() 得到() 方法 在Java中。

句法:

set.stream().findFirst().get()

返回类型:返回HashMap的第一个元素

例外:如果 HashSet 为空get() 抛出错误(Java.util.NoSuchElementException)。

例子:

Java

// Java code to find the first element
// in HashSet with the help of stream
 
// Importing generic java libraries
import java.util.*;
 
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating a new HashSet
        HashSet set = new HashSet<>();
 
        // Add data to Hashset
        set.add(10);
        set.add(20);
        set.add(20);
        set.add(10);
        set.add(50);
        set.add(40);
 
        // Find the first element in HashSet
        // using stream and findFirst method
        int firstEle = set.stream().findFirst().get();
 
        // Print HashSet
        System.out.println("HashSet : " + set);
 
        // Print First element of HashSet
        System.out.println("First element of HashSet : "
                           + firstEle);
    }
}
输出
HashSet : [50, 20, 40, 10]
First element of HashSet : 50