Java中的列表转集合
在Java中,给定一个列表(ArrayList或LinkedList),将其转换为一个字符串集合(HashSet或TreeSet)。
方法1(简单)
我们简单地创建一个列表。遍历给定的集合,逐个将元素添加到列表中。
// Java程序演示了如何使用简单遍历转换列表到集合
import java.util.*;
class Test {
public static void main(String[] args)
{
// 创建一个字符串列表
List<String> aList = Arrays.asList("Geeks", "for",
"GeeksQuiz", "GeeksforGeeks", "GFG");
Set<String> hSet = new HashSet<String>();
for (String x : aList)
hSet.add(x);
System.out.println("创建的HashSet为");
for (String x : hSet)
System.out.println(x);
// 我们同样可以创建TreeSet
}
}
方法2(使用HashSet或TreeSet构造函数)
// Java程序演示了如何使用构造函数将列表转换为集合
import java.util.*;
class Test {
public static void main(String[] args)
{
// 创建一个字符串列表
List<String> aList = Arrays.asList("Geeks", "for",
"GeeksQuiz", "GeeksforGeeks", "GFG");
// 使用构造函数创建哈希集合
Set<String> hSet = new HashSet<String>(aList);
System.out.println("创建的HashSet为");
for (String x : hSet)
System.out.println(x);
System.out.println("创建的TreeSet为");
Set<String> tSet = new TreeSet<String>(aList);
System.out.println("创建的TreeSet为");
for (String x : tSet)
System.out.println(x);
}
}
方法3(使用addAll方法)
// Java程序演示了如何使用addAll()方法将集合转换为数组。
import java.util.*;
class Test {
public static void main(String[] args)
{
// 创建一个字符串列表
List<String> aList = Arrays.asList("Geeks", "for",
"GeeksQuiz", "GeeksforGeeks", "GFG");
Set<String> hSet = new HashSet<String>(aList);
hSet.addAll(aList);
System.out.println("创建的HashSet为");
for (String x : hSet)
System.out.println(x);
Set<String> tSet = new TreeSet<String>(aList);
tSet.addAll(aList);
System.out.println("创建的TreeSet为");
for (String x : tSet)
System.out.println(x);
}
}
方法4(使用Java中的流)
使用Java中的流将给定列表转换为流,然后将流转换为集合。这仅适用于Java 8或之后版本。
// Java程序演示了如何使用stream将集合转换为列表
import java.util.*;
import java.util.stream.*;
class Test {
public static void main(String[] args)
{
// 创建一个字符串列表
List<String> aList = Arrays.asList("Geeks", "for",
"GeeksQuiz", "GeeksforGeeks", "GFG");
// 使用流转换为集合
Set<String> set = aList.stream().collect(Collectors.toSet());
for (String x : set)
System.out.println(x);
}
}
极客教程