如何在 Java 的 LinkedHashSet 中找到元素索引?
原文:https://www . geeksforgeeks . org/如何找到元素-索引-in-linkedhashset-in-java/
LinkedHashSet 用于存储不同的项目,并获取项目在 Java 中插入的顺序。LinkedHashSet 不存储基于索引的值。但是在 Java 的 LinkedHashSet 中有一些查找元素索引的方法。
方法 1:(通过将 LinkedHashSet 转换为 ArrayList)
通过将 LinkedHashSet 转换为数组列表来查找 Java 中 LinkedHashSet 中的元素索引,过程分为两部分:
1。使用构造函数将 LinkedHashSet 转换为 ArrayList。
// Convert LinkedHashSet to ArrayList using constructor
ArrayList<Integer> elements = new ArrayList<>(set);
2。使用 Java 中的 indexOf() 方法获取元素索引。
语法:
public int indexOf(Object o)
参数:该函数只有一个参数,即列表中要搜索的元素。
返回:此方法返回列表中给定元素第一次出现的索引,如果该元素不在列表中,则返回“-1”。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to find the element
// index in LinkedHashSet
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// New empty HashSet
LinkedHashSet<Integer> set = new LinkedHashSet<>();
// Add elements to set
set.add(10);
set.add(20);
set.add(10);
set.add(50);
set.add(30);
set.add(20);
set.add(50);
// Convert LinkedHashSet to ArrayList
ArrayList<Integer> elements = new ArrayList<>(set);
// Print the LinkedHashSet
System.out.println("LinkedHashSet: " + set);
// Print index of all the elements
for (Integer x : elements) {
System.out.println("Index of " + x + ": "
+ elements.indexOf(x));
}
// It returns -1 becouce 60 not present in
// LinkedHashSet
System.out.println("Index of " + 60 + ": "
+ elements.indexOf(60));
}
}
Output
LinkedHashSet: [10, 20, 50, 30]
Index of 10: 0
Index of 20: 1
Index of 50: 2
Index of 30: 3
Index of 60: -1
方法 2:(使用迭代器或 增强为循环 )
为了在 Java 中找到元素索引,我们可以创建一个新的用户定义函数(indexOf),返回给定的元素索引。我们的函数迭代 LinkedHashSet 并返回给定元素的索引。
注意:如果该元素不存在于 LinkedHashSet 中,则返回-1。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to find the
// element index in LinkedHashSet
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// New empty HashSet
LinkedHashSet<Integer> set = new LinkedHashSet<>();
// Add elements to set
set.add(10);
set.add(20);
set.add(10);
set.add(50);
set.add(30);
set.add(20);
set.add(50);
// Print the LinkedHashSet
System.out.println("LinkedHashSet: " + set);
// Print index of elements
for (Integer x : set) {
System.out.println("Index of " + x + ": "
+ indexOf(set, x));
}
// It returns -1 becouce it is not present in
// LinkedHashSet
System.out.println("Index of " + 60 + ": "
+ indexOf(set, 60));
}
public static int indexOf(LinkedHashSet<Integer> set,
int element)
{
// If element not present in the LinkedHashSet it
// returns -1
int index = -1;
// get an iterator
Iterator<Integer> iterator = set.iterator();
int currentIndex = 0;
while (iterator.hasNext()) {
// If element present in the LinkedHashSet
if (iterator.next().equals(element)) {
index = currentIndex;
break;
}
currentIndex++;
}
// Return index of the element
return index;
}
}
Output
LinkedHashSet: [10, 20, 50, 30]
Index of 10: 0
Index of 20: 1
Index of 50: 2
Index of 30: 3
Index of 60: -1
方法 3:(使用数组)使用数组在 Java 中查找 LinkedHashSet 中的元素索引,过程分为两部分:
1。使用到数组()方法将链接的哈希集转换为数组。
// New Array
Integer[] array = new Integer[set.size()];
// Convert set to Array using toArray
array = set.toArray(array);
2。使用索引查找元素。
语法:
Object[] arr = LinkedHashSet.toArray()
参数:该方法不取任何参数。
返回值:该方法返回一个数组,该数组包含类似于 LinkedHashSet 的元素。
示例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to find the
// element index in LinkedHashSet
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// New empty HashSet
LinkedHashSet<Integer> set = new LinkedHashSet<>();
// Add elements to set
set.add(10);
set.add(20);
set.add(10);
set.add(50);
set.add(30);
set.add(20);
set.add(50);
// Print the LinkedHashSet
System.out.println("LinkedHashSet: " + set);
// New Array
Integer[] array = new Integer[set.size()];
// Convert LinkedHashSet to Array
array = set.toArray(array);
// Print index of elements
for (int i = 0; i < array.length; i++) {
System.out.println("Index of " + array[i] + ":"
+ i);
}
int element = 50;
int index = -1;
for (int i = 0; i < array.length; i++) {
// if element is equal to array value
// store index and come out
if (array[i] == element) {
index = i;
break;
}
}
// print index
System.out.println("Index of " + element
+ " is : " + index);
}
}
Output
LinkedHashSet: [10, 20, 50, 30]
Index of 10:0
Index of 20:1
Index of 50:2
Index of 30:3
Index of 50 is : 2
版权属于:月萌API www.moonapi.com,转载请注明出处