Java 程序通过索引从 LinkedHashSet 获取元素

javaobject oriented programmingprogramming更新于 2024/8/5 21:11:00

LinkedHashSet 是 Java 提供的一个实现 Set 接口的类。LinkedHashSet 实现为一个哈希表,其中有一个链接列表,因此它比 HashSet 更高效,并且还能保持顺序。当您需要一个保持顺序且不允许重复的集合时,它很有用。在本节中,我们将讨论通过索引从 LinkedHashset 获取元素的不同方法。

什么是 LinkedHashSet?

LinkedHashSet 是一个集合,它是 HashSet 集合和 LinkedList 集合的组合。HashSet 是一个无序集合,也不允许重复。LinkedList 存储重复项,但也是一个有序集合,即它以将元素添加到集合的方式存储元素。说到 LinkedHashSet,它是 hashSet 和 LinkedList 的组合,它以与向集合添加元素相同的方式存储元素,即它是有序的,并且也不允许在集合中重复存储元素。现在,让我们看看可以在 LinkeHashSet 上执行的一些基本操作。

LinkedHashSet 上的基本操作

在这里,我们将讨论使用 Java LinkedHashSet 类提供的内置方法可以在 LinkedHashSet 上执行的基本操作。

add() - 此方法有助于将元素添加到 LinkedHashSet。它接受一个参数,基本上是存储在 LinkedHashSet 中的元素类型。

linkedHashSetObject.add(element)

remove() − 此方法有助于从 LinkedHashSet 中删除元素。传递给此方法的元素将从 LinkedHashSet 中删除。

set.remove("b"); // 从集合中删除"b"

clear() − 此方法有助于从 LinkedHashSet 中清除所有元素。

set.clear(); // 从集合中删除所有元素

contains() − 此方法有助于检查作为参数传递的元素是否存在于 LinkedHashSet 中。它返回布尔值。如果元素存在,则返回 true,否则返回 false。

boolean val = set.contains('b'); // 检查 'b' 是否存在并返回布尔值。

isEmpty() − 此方法有助于检查 LinkedHashSet 是否为空。它返回布尔值。如果 hashset 为空,则返回 true,否则返回 false。

boolean val = set.isEmpty(); // 检查 hashSet 是否包含元素

使用的语法

创建 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() 方法添加集合中的几个元素。然后,我们创建一个迭代器对象并初始化一个"inde"变量,并使用 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 中通过索引获取元素的不同方法。


相关文章