Java程式從LinkedHashSet中根據索引獲取元素


LinkedHashSetJava 提供的一個 ,它實現了 Set 介面。LinkedHashSet 以雜湊表的形式實現,並透過一個連結串列貫穿其中,因此它比 HashSet 更高效,並且還保持順序。當您需要一個保持順序且不允許重複的集合時,它非常有用。在本節中,我們將討論從 LinkedHashset 中根據索引獲取元素的不同方法。

什麼是 LinkedHashSet?

LinkedHashSet 是一個集合,它是 HashSet 集合和 LinkedList 集合的組合。HashSet 是一個無序集合,也不允許重複。LinkedList 儲存重複項,但也是一個有序集合,即它以向集合中新增元素的方式儲存元素。對於 LinkedHashSet,由於它是 HashSet 和 LinkedList 的組合,因此它以向集合中新增元素的方式儲存元素,即它是有序的,並且也不允許重複儲存元素。現在,讓我們看看可以在 LinkedHashSet 上執行的一些基本操作。

LinkedHashSet 的基本操作

在這裡,我們將討論關於我們可以使用 Java LinkedHashSet 類提供的內建方法在 LinkedHashSet 上執行的基本操作。

add() - 此方法有助於將元素新增到 LinkedHashSet。它接受一個引數,基本上是儲存在 LinkedHashSet 中的元素的型別。

linkedHashSetObject.add(element)

remove() - 此方法有助於從 LinkedHashSet 中刪除元素。傳遞給此方法的元素將從 LinkedHashSet 中刪除。

set.remove("b"); // removes "b" from the set

clear() - 此方法有助於清除 LinkedHashSet 中的所有元素。

set.clear(); // removes all elements from set

contains() - 此方法有助於檢查作為引數傳遞的元素是否出現在 LinkedHashSet 中。它返回布林值。如果元素存在,則返回 true,否則返回 false。

boolean val = set.contains('b'); // checks 'b' is present and returns boolean value.

isEmpty() - 此方法有助於檢查 LinkedHashSet 是否為空。它返回布林值。如果 hashset 為空,則返回 true,否則返回 false。

boolean val = set.isEmpty(); // checks hashSet conatians elements or not  

使用的語法

建立 LinkedHashSet 的例項

LinkedHashSet<datatype> set = new LinkedHashSet<>();

iterator() - 它迭代 Linkedhashset 並返回值。

Iterator<datatype> iteratorobjectname = setobject.iterator()

hasNext() - 此方法用於檢查集合中是否存在下一個元素。它由 Java 中的 Iterator 介面提供。它在迭代器物件上呼叫。

iteraratorObject.hasNext()

next() - 此方法幫助我們返回集合中存在的下一個元素。它由 Java 中的 Iterator 介面提供。它在迭代器物件上呼叫。

iteraratorObject.next()

toArray() - 此方法用於將集合轉換為陣列。它返回一個元素陣列。

collectionobject.toArray()

現在,我們將透過 Java 程式碼詳細討論如何從 LinkedHashSet 中根據索引獲取元素。

方法 1:使用 iterator() 方法

  • 建立一個 LinkedHashSet 例項,並使用 add() 方法將元素新增到集合中。

  • 宣告一個索引變數並初始化為零。

  • 建立一個迭代器例項,並使用 hasNext() 方法檢查我們是否需要讀取集合中的元素。

  • 然後使用 while 迴圈迭代 LinkedHashSet,並使用 Next() 方法訪問元素。

  • 使用 if 條件匹配索引等於 2 的條件,並列印元素。

示例

在此示例中,我們建立了一個 LinkedHashset 物件,並使用 add() 方法向集合中添加了一些元素。然後我們建立一個迭代器物件並初始化一個索引變數,並使用 wile 迴圈迭代集合並增加索引值,如果索引值達到 2,則列印元素。

import java.util.LinkedHashSet;
import java.util.Iterator;

public class Main {
   public static void main(String[] args) {
      LinkedHashSet<String> set = new LinkedHashSet<>();
      set.add("Hibiscus");
      set.add("Lily");
      set.add("Papaya");
      set.add("Orange");
      set.add("Kiwi");
      Iterator<String> it = set.iterator();
      int index = 0;
      while (it.hasNext()) {
         String x = it.next();
         if (index == 2) {
            System.out.println("Element: "+x);
            break;
         }
         index++;
      }
   }
}

輸出

Element : Papaya

方法 2:使用 toArray() 方法

  • 建立一個 LinkedHashSet 例項,並使用 add() 方法將元素新增到集合中。

  • 使用 toArray() 方法將集合轉換為物件。

  • 從陣列中根據索引檢索元素並列印它。

示例

在此示例中,我們建立了一個 LinkedHashSet 物件,然後向集合中添加了一些元素。然後我們使用 toArray() 方法將集合轉換為陣列,然後我們透過使用索引訪問陣列來列印值。

import java.util.LinkedHashSet;

public class Main {
   public static void main(String[] args) {
      LinkedHashSet<String> set = new LinkedHashSet<>();
      set.add("Hibiscus");
      set.add("Lily");
      set.add("Papaya");
      set.add("Orange");
      set.add("Kiwi");
      Object[] elements = set.toArray();
      int index=2;
      System.out.println("Element is: " + elements[index]);
      System.out.println("Element is: " + elements[4]);
   }
}

輸出

Element is: Papaya
Element is: Kiwi

因此,在本文中,我們討論了使用 Java 程式語言從 LinkedHashSet 中根據索引獲取元素的不同方法。

更新於: 2024年7月3日

2K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.