Java 如何将ArrayList转换成Set
可以使用Set构造函数将ArrayList转换为Set对象。转换后的Set会删除列表中的重复项,只包含唯一值。
Set<String> set = new HashSet<>(list);
或者我们可以使用set.addAll()方法将列表中的所有元素添加到集合中。
set.addAll(list);
同时使用流,我们可以从列表中获取一个集合。
set = list.stream().collect(Collectors.toSet());
示例
以下是一个示例,显示通过多种方式设置转换列表:
package com.tutorialspoint;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class CollectionsDemo {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 4, 5, 5));
System.out.println("ArrayList: " + list);
Set<Integer> set = new HashSet<>(list);
System.out.println("Set: " + set);
set = new HashSet<>();
set.addAll(list);
System.out.println("Set: " + set);
set = new HashSet<>();
set = list.stream().collect(Collectors.toSet());
System.out.println("Set: " + set);
}
}
结果
这将产生以下结果−
ArrayList: [1, 2, 3, 4, 4, 5, 5]
Set: [1, 2, 3, 4, 5]
Set: [1, 2, 3, 4, 5]
Set: [1, 2, 3, 4, 5]