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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。