Java中的HashSet spliterator()方法
HashSet 的 spliterator() 方法返回一个与 HashSet 相同元素的 Spliterator。返回的 Spliterator 是后绑定(late-binding)和快速失败(fail-fast)的 Spliterator。后绑定的 Spliterator 在首次遍历、首次分裂或首次查询估计大小时绑定元素的源(即 HashSet),而不是创建 Spliterator 的时间。它可以与 Java 8 中的流一起使用。此外,它还可以单独和批量遍历元素。Spliterator 是更好的元素遍历方式,因为它提供了更多对元素的控制。
语法:
public Spliterator<E> spliterator()
返回值: 此方法返回 HashSet 中元素的 Spliterator。
下面的程序演示了 HashSet 的 spliterator() 方法:
示例 1: 演示包含一组数字的 HashSet 上的 spliterator() 方法。
// Java Program Demonstrate spliterator()
// method of HashSet
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an HashSet which going to
// contains a list of Numbers
HashSet<Integer> Numbers = new HashSet<Integer>();
// Add Number to list
Numbers.add(23);
Numbers.add(32);
Numbers.add(45);
Numbers.add(63);
// using spliterator() method
Spliterator<Integer> numbers = Numbers.spliterator();
// print result from Spliterator
System.out.println("数字列表:");
// forEachRemaining method of Spliterator
numbers.forEachRemaining((n) -> System.out.println(n));
}
}
数字列表:
32
23
45
63
示例 2: 演示包含学生姓名集合的 HashSet 上的 spliterator() 方法。
// Java Program Demonstrate spliterator()
// method of HashSet
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an HashSet which going to
// contains a list of string values
HashSet<String> students = new HashSet<String>();
// Add Strings to list
students.add("Ram");
students.add("Mohan");
students.add("Sohan");
students.add("Rabi");
// using spliterator() method
Spliterator<String> names = students.spliterator();
// print result from Spliterator
System.out.println("学生名称列表:");
// forEachRemaining method of Spliterator
names.forEachRemaining(
(n) -> System.out.println("学生姓名: " + n));
}
}
学生名称列表:
学生姓名: Rabi
学生姓名: Mohan
学生姓名: Sohan
学生姓名: Ram
参考文献: https://docs.oracle.com/javase/8/docs/api/java/util/HashSet.html#spliterator–