Java程序从LinkedHashSet中根据索引获取元素
LinkedHashSet 是 Java 提供的一个 类,它实现了 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 中根据索引获取元素的不同方法。