首頁 > Java > java教程 > 如何在Java中從LinkedHashSet中找到最小或最大的元素?

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

王林
發布: 2023-09-12 23:37:02
轉載
1264 人瀏覽過

如何在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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板