Java Set 是 java.util 包的一部分,并扩展了 java.util.Collection 接口。它不允许使用重复元素,并且最多只能容纳一个空元素。
List 是 Collection 的子接口。它是一个有序的对象集合,其中可以存储重复的值。由于 List 保留插入顺序,因此它允许位置访问和插入元素。 List 接口由 ArrayList、LinkedList、Vector 和 Stack 类实现。
下面是在Java中将Set转换为List的方法。
- 蛮力或朴素方法:此方法包括创建一个空列表并将该集合的每个元素添加到其中。
算法:
- 获取要转换的 Set。
- 创建一个空列表
- 将集合中的每个元素推入列表
- 返回形成的List
程序:
// Java Program to convert // Set to List in Java 8 import java.util.*; import java.util.stream.*; class GFG { // Generic function to convert set to list public static <T> List<T> convertSetToList(Set<T> set) { // create an empty list List<T> list = new ArrayList<>(); // push each element in the set into the list for (T t : set) list.add(t); // return the list return list; } public static void main(String args[]) { // Create a Set using HashSet Set<String> hash_Set = new HashSet<String>(); // Add elements to set hash_Set.add("Geeks"); hash_Set.add("For"); hash_Set.add("Geeks"); hash_Set.add("Example"); hash_Set.add("Set"); // Print the Set System.out.println("Set: " + hash_Set); // construct a new List from Set List<String> list = convertSetToList(hash_Set); // Print the List System.out.println("List: " + list); } }
输出:Set: [Set, Example, Geeks, For] List: [Set, Example, Geeks, For]
- 在构造函数的帮助下:Java 中的集合有一个构造函数,可以在其中传递直接集合以从中创建列表。
算法:
- 获取要转换的 Set。
- 通过将集合作为参数传递给构造函数来创建列表。
- 返回形成的List
程序:
// Java Program to convert // Set to List in Java 8 import java.util.*; import java.util.stream.*; class GFG { // Generic function to convert set to list public static <T> List<T> convertSetToList(Set<T> set) { // create a list from Set List<T> list = new ArrayList<>(set); // return the list return list; } public static void main(String args[]) { // Create a Set using HashSet Set<String> hash_Set = new HashSet<String>(); // Add elements to set hash_Set.add("Geeks"); hash_Set.add("For"); hash_Set.add("Geeks"); hash_Set.add("Example"); hash_Set.add("Set"); // Print the Set System.out.println("Set: " + hash_Set); // construct a new List from Set List<String> list = convertSetToList(hash_Set); // Print the List System.out.println("List: " + list); } }
输出:Set: [Set, Example, Geeks, For] List: [Set, Example, Geeks, For]
- 使用 Java 8 流:在 Java 8 中,可以使用 Stream 将集合转换为列表,方法是使用 Set.stream() 将集合转换为顺序 Stream,并使用 Collector 将输入元素收集到新的 List 中。
算法:
- 获取要转换的HashMap。
- 从集合中创建流
- 将集合转换为列表并收集它
- 返回收集到的List
程序:
// Java Program to convert // HashMap to TreeMap in Java 8 import java.util.*; import java.util.stream.*; class GFG { // Generic function to convert set to list public static <T> List<T> convertSetToList(Set<T> set) { // create a list from Set return set // Create stream from the Set .stream() // Convert the set to list and collect it .collect(Collectors.toList()); } public static void main(String args[]) { // Create a Set using HashSet Set<String> hash_Set = new HashSet<String>(); // Add elements to set hash_Set.add("Geeks"); hash_Set.add("For"); hash_Set.add("Geeks"); hash_Set.add("Example"); hash_Set.add("Set"); // Print the Set System.out.println("Set: " + hash_Set); // construct a new List from Set List<String> list = convertSetToList(hash_Set); // Print the List System.out.println("List: " + list); } }
输出:Set: [Set, Example, Geeks, For] List: [Set, Example, Geeks, For]
- 使用 Guava 库 List.newArrayList(set):Lists.newArrayList(set) 创建一个可变的ArrayList 实例,其中包含指定集合的元素。
算法:
- 获取要转换的 Set。
- 使用 Lists.newArrayList() 创建一个新列表,并将集合作为参数传递给 Guava 库的此函数
- 返回形成的List
程序:
// Java Program to convert // HashMap to TreeMap in Java 8 import java.util.*; import java.util.stream.*; class GFG { // Generic function to convert set to list public static <T> List<T> convertSetToList(Set<T> set) { // create a list from Set return Lists.newArrayList(set); } public static void main(String args[]) { // Create a Set using HashSet Set<String> hash_Set = new HashSet<String>(); // Add elements to set hash_Set.add("Geeks"); hash_Set.add("For"); hash_Set.add("Geeks"); hash_Set.add("Example"); hash_Set.add("Set"); // Print the Set System.out.println("Set: " + hash_Set); // construct a new List from Set List<String> list = convertSetToList(hash_Set); // Print the List System.out.println("List: " + list); } }
输出:
Set: [Set, Example, Geeks, For] List: [Set, Example, Geeks, For]
相关用法
- Java Set转Stream用法及代码示例
- Java Set add()用法及代码示例
- Java Set addAll()用法及代码示例
- Java Set clear()用法及代码示例
- Java Set contains()用法及代码示例
- Java Set containsAll()用法及代码示例
- Java Set equals()用法及代码示例
- Java Set hashCode()用法及代码示例
- Java Set isEmpty()用法及代码示例
- Java Set iterator()用法及代码示例
- Java Set remove()用法及代码示例
- Java Set removeAll()用法及代码示例
- Java Set retainAll()用法及代码示例
- Java Set size()用法及代码示例
- Java Set toArray()用法及代码示例
- Java SecurityManager checkAccept()用法及代码示例
- Java SecurityManager checkAccess()用法及代码示例
- Java SecurityManager checkAwtEventQueueAccess()用法及代码示例
- Java SecurityManager checkConnect()用法及代码示例
- Java SecurityManager checkDelete()用法及代码示例
- Java SecurityManager checkExec()用法及代码示例
- Java SecurityManager checkExit()用法及代码示例
- Java SecurityManager checkLink()用法及代码示例
- Java SecurityManager checkListen()用法及代码示例
- Java SecurityManager checkMemberAccess()用法及代码示例
注:本文由纯净天空筛选整理自RishabhPrabhu大神的英文原创作品 Program to Convert Set to List in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。