首页  >  文章  >  Java  >  如何在Java中从LinkedHashSet中找到最小或最大的元素?

如何在Java中从LinkedHashSet中找到最小或最大的元素?

王林
王林转载
2023-09-12 23:37:021190浏览

如何在Java中从LinkedHashSet中找到最小或最大的元素?

LinkedHashSet是Java Collection Framework的一个类,它实现了Set接口并扩展了HashSet类。它是一个链表类型的集合类。它按照插入的顺序存储和返回对象。从 LinkedHashSet 集合中查找最大和最小元素是考试甚至面试中经常被问到的常见任务之一。在本文中,我们将探讨执行给定任务的几种方法。

从 LinkedHashSet 获取最小和最大元素的程序

要从 LinkedHashSet 集合中查找最大和最小元素,我们将使用以下方法:

  • 通过迭代 LinkedHashSet

  • 通过将 LinkedHashSet 转换为 TreeSet

  • 通过使用 min() 和 max() 方法

让我们一一讨论。

使用迭代

借助 for-each 循环,我们可以迭代 LinkedHashSet 集合的元素来获取最大和最小元素。

示例 1

以下示例演示了 for-each 循环从 LinkedHashSet 中查找最大和最小元素的实际实现。

方法

  • 我们的第一步是导入“java.util”包,以便我们可以使用 LinkedHashSet 类的功能。

  • 然后,创建一个 LinkedHashSet 集合并使用内置方法“add()”存储一些元素。

  • 初始化两个Integer类型的变量来存储最大和最小元素。

  • 现在,创建一个 for-each 并在其中定义两个 if 块。第一个 if 块将检查最小元素,第二个 if 块将检查最大元素。

  • 最后打印结果并退出。

import java.util.*;
public class MinMax {
   public static void main(String[] args) {
      // Creating a LinkedHashSet
      LinkedHashSet<Integer> lHset = new LinkedHashSet<>();
      // Adding elements to the set
      lHset.add(57);
      lHset.add(68);
      lHset.add(79);
      lHset.add(88);
      lHset.add(95);
      // to store the maximum and minimum element
      Integer minElem = null;
      Integer maxElem = null;
      // using for-each loop to find minimum and maximum elements
      for (Integer element : lHset) { 
         // checking minimum element
         if (minElem == null || element < minElem) {
            minElem = element;
         }
         // checking maximum element
         if (maxElem == null || element> maxElem) {
            maxElem = element;
         }
      }
      System.out.println("List of elements from LinkedHashSet: " + lHset);
      System.out.println("The Minimum element from LinkedHashSet: " + minElem);
      System.out.println("The Maximum element from LinkedHashSet: " + maxElem);
   }
}

输出

List of elements from LinkedHashSet: [57, 68, 79, 88, 95]
The Minimum element from LinkedHashSet: 57
The Maximum element from LinkedHashSet: 95

使用树集

TreeSet也是Java集合框架的一个类,它实现了NavigableSet接口。它将集合的元素存储在树结构中,并以排序的方式存储,这使得它成为从 LinkedHashSet 中检索最大和最小元素的最佳选择。

示例 2

在下面的示例中,我们将使用 TreeSet 从 LinkedHashSet 中获取最小和最大元素。

方法

  • 按照上一个示例的前两个步骤进行操作。

  • 然后,将 LinkedHashSet 集合转换为 TreeSet,使第一个元素变为最小,最后一个元素变为最大。

  • 现在,使用内置方法“first()”获取最小元素,使用“last()”获取最大元素。

import java.util.*;
public class MinMax {
   public static void main(String[] args) {
      // Creating a LinkedHashSet
      LinkedHashSet<Integer> lHset = new LinkedHashSet<>();
      // Adding elements to the set
      lHset.add(57);
      lHset.add(68);
      lHset.add(79);
      lHset.add(88);
      lHset.add(95);
      System.out.println("List of elements from LinkedHashSet: " + lHset);
      // converting LinkedHashSet to TreeSet 
      TreeSet<Integer> newTree = new TreeSet<>(lHset);
      // getting the minimum element
      System.out.println("The Minimum element from LinkedHashSet: " + newTree.first());
      // getting the maximum element
        System.out.println("The Maximum element from LinkedHashSet: " + newTree.last());
   }
}

输出

List of elements from LinkedHashSet: [57, 68, 79, 88, 95]
The Minimum element from LinkedHashSet: 57
The Maximum element from LinkedHashSet: 95

使用 min() 和 max() 方法

从 LinkedHashSet 获取最小和最大元素的一种简单方法是使用内置方法“min()”和“max()”。 “min()”方法返回 LinkedHashSet 中的最小元素,“max()”返回最大元素。请注意,这两种方法都与“集合”一起使用。

示例 3

在下面的示例中,我们将使用“min()”和“max()”方法来查找其最小和最大元素,而不是迭代和转换 LinkedHashSet 集合。

import java.util.*;
public class MinMax {
   public static void main(String[] args) {
      // Creating a LinkedHashSet
      LinkedHashSet<Integer> lHset = new LinkedHashSet<>();
      // Adding elements to the set
      lHset.add(57);
      lHset.add(68);
      lHset.add(79);
      lHset.add(88);
      lHset.add(95);
      System.out.println("List of elements from LinkedHashSet: " + 
lHset);
      // getting the minimum element
      System.out.println("The Minimum element from LinkedHashSet: " + 
Collections.min(lHset));
      // getting the maximum element
      System.out.println("The Maximum element from LinkedHashSet: " + 
Collections.max(lHset));
   }
}

输出

List of elements from LinkedHashSet: [57, 68, 79, 88, 95]
The Minimum element from LinkedHashSet: 57
The Maximum element from LinkedHashSet: 95

结论

本文首先介绍了 LinkedHashSet,在下一节中,我们讨论了从 LinkedHashSet 中查找最小和最大元素的三种方法。此外,我们还了解了 TreeSet 的基础知识和 Java 集合框架的一些内置方法,包括“min()”、“max()”、“first()”和“last()”。

以上是如何在Java中从LinkedHashSet中找到最小或最大的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除