一、从JS遍历Set
在JavaScript中,可以使用for…of
循环遍历Set集合。如果你需要把Set集合中的元素复制到一个数组中,你可以简单地使用扩展运算符或Array.from()
方法。
// 创建一个Set
const mySet = new Set(['one', 'two', 'three']);
// 使用for...of循环遍历Set
for (let value of mySet) {
console.log(value);
}
// 将Set转换成数组
const myArray = [...mySet]; // 或者使用Array.from()方法
二、遍历Set的三种方式
1. 使用迭代器iterator遍历Set集合
Set集合是可迭代的,forEach
和for…of
循环都可以遍历Set集合。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 使用迭代器iterator遍历Set
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
String value = iterator.next();
System.out.println(value);
}
2. 使用forEach方法遍历Set集合
使用forEach
方法遍历Set集合,可以使用Lambda表达式或匿名内部类。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 使用forEach方法遍历Set
set.forEach(value -> System.out.println(value));
// 或者使用匿名内部类
set.forEach(new Consumer<String>() {
@Override
public void accept(String value) {
System.out.println(value);
}
});
3. 使用for循环遍历Set集合
使用for
循环遍历Set集合,也可以使用foreach
循环。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 使用for循环遍历Set
for (String value : set) {
System.out.println(value);
}
// 或者使用foreach循环
set.forEach(value -> System.out.println(value));
三、遍历Set元素
在Java中,Set集合是无序的,因此遍历Set元素时,元素的顺序可能会发生改变。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 遍历Set元素
for (String value : set) {
System.out.println(value);
}
四、遍历Set集合的方法
1. 使用Iterator迭代器遍历Set集合
使用Iterator
迭代器遍历Set集合,迭代器是通过Set接口的iterator
方法获得的。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 使用Iterator迭代器遍历Set集合
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
String value = iterator.next();
System.out.println(value);
}
2. 使用forEach方法遍历Set集合
使用forEach
方法遍历Set集合,可以使用Lambda表达式或方法引用。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 使用forEach方法遍历Set集合
set.forEach(value -> System.out.println(value));
// 或者使用方法引用
set.forEach(System.out::println);
3. 使用for循环遍历Set集合
使用for
循环遍历Set集合,也可以使用foreach
循环。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 使用for循环遍历Set集合
for (String value : set) {
System.out.println(value);
}
// 或者使用foreach循环
set.forEach(value -> System.out.println(value));
4. 使用Stream流遍历Set集合
使用Stream流遍历Set集合,可以使用filter
、map
等方法进一步处理Set集合中的元素。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 使用Stream流遍历Set集合
set.stream().filter(value -> value.startsWith("t")).forEach(System.out::println);
5. 使用Enumeration枚举器遍历Set集合
Enumeration
是在Java 1.0时期引入的。使用Enumeration
枚举器遍历Set集合,需要使用Set接口中的elements
方法获得枚举器对象。
// 创建一个Set
Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
set.add("three");
// 使用Enumeration枚举器遍历Set集合
Enumeration<String> enumeration = Collections.enumeration(set);
while (enumeration.hasMoreElements()) {
String value = enumeration.nextElement();
System.out.println(value);
}
总结
本文详细介绍了Java遍历Set集合的多种方法,包括使用迭代器iterator、forEach方法、for循环、Stream流和Enumeration枚举器。在使用Set集合时,可以根据实际需要选择适合自己的遍历方式。