Java 从HashSet获取第一个或最后一个元素
在Java中,HashSet是一个实现了Set接口的类。HashSet是一个集合,它存储或允许我们存储不重复的元素。在本节中,我们将讨论使用Java编程语言在HashSet中查找第一个元素和最后一个元素的不同方法。
在Java中,HashSet类是使用哈希表实现的。它使用哈希码快速从表中检索数据。在HashSet中,元素的顺序不保留,即它不会按照我们将元素添加到集合的顺序存储元素。我们可以对元素执行添加、删除、搜索等操作。由于元素不以特定顺序存储,因此它们是无序的元素。当我们从HashSet中检索元素时,无法预测元素的检索顺序。
HashSet的基本操作
在这里,我们将讨论可以使用Java HashSet类提供的内置方法在HashSet上执行的基本操作。
add() - 这个方法用于向HashSet添加元素。它接受一个参数,表示HashSet中存储的元素的类型。
hashSetObject.add(element)
remove() - 该方法用于从HashSet中删除元素。通过传递给该方法的元素将从HashSet中删除。
set.remove("b"); // removes "b" from the set
clear() − 这个方法用于清除HashSet中的所有元素。
set.clear(); // removes all elements from set
contains() - 该方法用于检查作为参数传递的元素是否存在于HashSet中。它返回一个布尔值。如果元素存在,则返回true,否则返回false。
boolean val = set.contains(‘b’); // checks ‘b’ is present and returns boolean value.
isEmpty() − 这个方法用于检查HashedSet是否为空。它返回一个布尔值。如果hashset为空,则返回true,否则返回false。
boolean val = set.isEmpty(); // checks hashSet conatians elements or not
语法
创建HashSet实例 - 可以使用HashSet()构造函数创建一个HashSet对象。
HashSet<datatype> obj= new HashSet();
Example :
HashSet<String> hm = new HashSet() ; // creates a hashSet with string type.
创建 ArrayList − ArrayList() 构造函数可用于创建一个 ArrayList 对象。它用于存储同类元素。它允许重复。
ArrayList<datatype> obj = new ArrayList<>();
Example :
ArrayList<String> ls = newArrayList() ; // creates a ArrayList with string type.
iterator() − 它是一个帮助我们在集合中迭代元素并使用hasNext()方法返回值的对象。
Iterator<datatype> iteratorobjectname =CollectionObject.iterator()
hasNext() − 此方法用于检查集合中是否存在下一个元素。它由java中的Iterator接口提供。它在迭代器对象上调用。
iteraratorObject.hasNext()
next() − 这个方法帮助我们返回集合中的下一个元素。它在Java中由迭代器接口提供。它是在迭代器对象上调用的。
iteraratorObject.next()
toArray() − 此方法用于将集合转换为数组。它返回一个元素的数组。
collectionobject.toArray()
现在,我们将通过Java代码详细讨论如何从HashSet中找到第一个或最后一个元素。
方法1:使用iterator()方法
在这个方法中,我们首先创建一个HashSet对象,然后使用add()方法向HashSet中添加一些元素。我们在set对象上创建迭代器对象,并使用next()方法获取集合中的第一个元素并将其存储在’first’变量中,然后用零初始化’last’变量,并使用foreach循环迭代元素并将元素存储在’last’变量中,最后打印’first’和’last’变量的值。
步骤
- 创建一个HashSet实例并使用add()方法向集合中添加元素。
-
创建一个迭代器实例并使用next()方法检索第一个元素。
-
使用for循环遍历集合并获取最后一个元素。
-
打印第一个和最后一个元素。
示例
在此示例中,我们将使用iterator()方法在HashSet中找到第一个和最后一个元素。
import java.util.*;
public class Main {
public static void main(String[] args) {
HashSet<Integer> hm = new HashSet<>();
hm.add(12);
hm.add(20);
hm.add(35);
Iterator<Integer> iterator = hm.iterator();
int first= iterator.next();
int last = 0;
for (int x : hm) {
last = x;
}
System.out.println("First element of HashSet: " + first);
System.out.println("Last element of HashSet: " + last);
}
}
输出
First element of HashSet: 35
Last element of HashSet: 12
方法2:使用toArray()方法
在这个例子中,我们创建一个HashSet对象,并使用add()方法向HashSet中添加一些元素,然后使用toArray()方法将HashSet转换成数组。然后访问数组的第一个和最后一个元素,然后打印它们。
步骤
- 创建一个HashSet实例,并使用add()方法将元素添加到集合中。
-
使用toArray()方法将集合转换为数组对象。
-
使用索引获取数组的第一个元素和最后一个元素,并打印它们。
示例
在这个例子中,我们将使用 ‘toArray()’ 方法将一个集合转换为数组,然后找到HashSet的第一个和最后一个元素。
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<String> hm = new HashSet<>();
hm.add("apple");
hm.add("banana");
hm.add("cherry");
// Convert the set to an array
String[] arr = new String[hm.size()];
hm.toArray(arr);
// Find the first and last elements of the array
String first = arr[0];
String last = arr[arr.length - 1];
System.out.println("First element: " + first);
System.out.println("Last element: " + last);
}
}
输出
First element: banana
Last element: cherry
因此,在本文中,我们学习了如何使用不同方法在Java中获取HashSet的第一个和最后一个元素。