給定一個數組。您的任務是將給定的數組轉換為 Java 中的列表。
例子:
Input: Array: [Geeks, forGeeks, A computer Portal] Output: List: [Geeks, forGeeks, A computer Portal] Input: Array: [1, 2, 3, 4, 5] Output: List: [1, 2, 3, 4, 5]
數組:一個數組是一組由通用名稱引用的 like-typed 變量。數組可以包含基元數據類型以及類的對象,具體取決於數組的定義。對於基元數據類型,實際值存儲在連續的內存位置中。對於類對象,實際對象存儲在堆段中。
列表: List Interface是 Collection 的子接口。它是一個有序的對象集合,其中可以存儲重複的值。由於 List 保留插入順序,因此它允許位置訪問和插入元素。 List 接口由 ArrayList、LinkedList、Vector 和 Stack 類實現。
有多種方法可以實現將數組轉換為a Java 中的列表。下麵列出了其中一些。
- 蠻力或樸素方法
- 使用數組.asList()方法
- 使用集合.addAll()方法
- 使用 Java 8 流 API
- 使用 Guava 列表.newArrayList()
1. 暴力或簡單的方法
在此方法中,創建一個空列表,並將數組中存在的所有元素一一添加到其中。
算法:
- 獲取要轉換的數組。
- 創建一個空列表
- 遍曆數組中的項目。
- 對於每個項目,將其添加到列表中
- 返回形成的List
Java
// Java Program to convert
// Array to List
import java.util.*;
import java.util.stream.*;
class GFG {
// Generic function to convert an Array to List
public static <T> List<T> convertArrayToList(T array[])
{
// Create an empty List
List<T> list = new ArrayList<>();
// Iterate through the array
for (T t : array) {
// Add each element into the list
list.add(t);
}
// Return the converted List
return list;
}
public static void main(String args[])
{
// Create an Array
String array[]
= { "Geeks", "forGeeks", "A Computer Portal" };
// Print the Array
System.out.println("Array: "
+ Arrays.toString(array));
// convert the Array to List
List<String> list = convertArrayToList(array);
// Print the List
System.out.println("List: " + list);
}
}
輸出
Array: [Geeks, forGeeks, A Computer Portal] List: [Geeks, forGeeks, A Computer Portal]
2. 使用數組.asList()方法
在此方法中,借助 Arrays.asList() 方法,將數組作為參數傳遞到 List 構造函數中。
算法:
- 獲取要轉換的數組。
- 借助 Arrays.asList() 方法創建列表,繞過數組作為列表構造函數中的參數
- 返回形成的List
Java
// Java Program to convert
// Array to List
import java.util.*;
import java.util.stream.*;
class GFG {
// Generic function to convert an Array to List
public static <T> List<T> convertArrayToList(T array[])
{
// Create the List by passing the Array
// as parameter in the constructor
List<T> list = Arrays.asList(array);
// Return the converted List
return list;
}
public static void main(String args[])
{
// Create an Array
String array[]
= { "Geeks", "forGeeks", "A computer Portal" };
// Print the Array
System.out.println("Array: "
+ Arrays.toString(array));
// convert the Array to List
List<String> list = convertArrayToList(array);
// Print the List
System.out.println("List: " + list);
}
}
輸出
Array: [Geeks, forGeeks, A computer Portal] List: [Geeks, forGeeks, A computer Portal]
3. 使用集合.addAll()
由於List是Java中Collection包的一部分。因此,可以借助 Collections.addAll() 方法將數組轉換為列表。
算法:
- 獲取要轉換的數組。
- 創建一個空列表。
- 通過將數組作為參數傳遞給 Collections.addAll() 方法,將數組添加到 List 中。
- 返回形成的List
Java
// Java Program to convert
// Array to List
import java.util.*;
import java.util.stream.*;
class GFG {
// Generic function to convert an Array to List
public static <T> List<T> convertArrayToList(T array[])
{
// Create the List by passing the Array
// as parameter in the constructor
List<T> list = new ArrayList<>();
// Add the array to list
Collections.addAll(list, array);
// Return the converted List
return list;
}
public static void main(String args[])
{
// Create an Array
String array[]
= { "Geeks", "forGeeks", "A computer Portal" };
// Print the Array
System.out.println("Array: "
+ Arrays.toString(array));
// convert the Array to List
List<String> list = convertArrayToList(array);
// Print the List
System.out.println("List: " + list);
}
}
輸出
Array: [Geeks, forGeeks, A computer Portal] List: [Geeks, forGeeks, A computer Portal]
4.使用Java 8 Stream API
ArrayList 構造函數可以采用另一個集合對象來構造一個包含指定數組元素的新列表。
算法:
- 獲取要轉換的數組。
- 將數組轉換為流
- 使用Collector將流轉換為列表。toList()
- 使用collect()方法收集形成的列表
- 返回形成的List
Java
// Java Program to convert
// Array to List in Java 8
import java.util.*;
import java.util.stream.*;
class GFG {
// Generic function to convert array to list
public static <T> List<T> convertArrayToList(T array[])
{
// create a list from the Array
return Arrays.stream(array).collect(
Collectors.toList());
}
public static void main(String args[])
{
// Create an Array
String array[]
= { "Geeks", "forGeeks", "A computer Portal" };
// Print the Array
System.out.println("Array: "
+ Arrays.toString(array));
// convert the Array to List
List<String> list = convertArrayToList(array);
// Print the List
System.out.println("List: " + list);
}
}
輸出
Array: [Geeks, forGeeks, A computer Portal] List: [Geeks, forGeeks, A computer Portal]
5. 使用 Guava 列表newArrayList()
Lists.newArrayList() 創建一個可變的 ArrayList 實例,其中包含指定數組的元素。
算法:
- 獲取要轉換的數組。
- 創建一個空列表。
- 通過將數組作為參數傳遞給 Lists.newArrayList() 方法,將數組添加到 List 中。
- 返回形成的List
Java
// Java Program to convert
// Array to List in Java 8
import static com.google.common.collect.Lists.*;
import java.util.*;
import java.util.stream.*;
class GFG {
// Generic function to convert array to list
public static <T> List<T> convertArrayToList(T array[])
{
// create a list from the Array
return Lists.newArrayList(array);
}
public static void main(String args[])
{
// Create an Array
String array[]
= { "Geeks", "forGeeks", "A computer Portal" };
// Print the Array
System.out.println("Array: "
+ Arrays.toString(array));
// convert the Array to List
List<String> list = convertArrayToList(array);
// Print the List
System.out.println("List: " + list);
}
}
輸出
Array: [Geeks, forGeeks, A computer Portal] List: [Geeks, forGeeks, A computer Portal]
相關用法
- Java Array轉LinkedList用法及代碼示例
- Java Array轉LinkedHashSet用法及代碼示例
- Java Array轉Vector用法及代碼示例
- Java Array轉HashSet用法及代碼示例
- Java Array轉String用法及代碼示例
- Java Array轉Collection用法及代碼示例
- Java Array轉Set用法及代碼示例
- Java ArrayList add()用法及代碼示例
- Java ArrayList addAll()用法及代碼示例
- Java ArrayList clear()用法及代碼示例
- Java ArrayList clone()用法及代碼示例
- Java ArrayList contains()用法及代碼示例
- Java ArrayList get()用法及代碼示例
- Java ArrayList indexOf()用法及代碼示例
- Java ArrayList removeAll()用法及代碼示例
- Java ArrayList remove()用法及代碼示例
- Java ArrayList size()用法及代碼示例
- Java ArrayList isEmpty()用法及代碼示例
- Java ArrayList subList()用法及代碼示例
- Java ArrayList set()用法及代碼示例
- Java ArrayList sort()用法及代碼示例
- Java ArrayList toArray()用法及代碼示例
- Java ArrayList toString()用法及代碼示例
- Java ArrayList ensureCapacity()用法及代碼示例
- Java ArrayList lastIndexOf()用法及代碼示例
注:本文由純淨天空篩選整理自RishabhPrabhu大神的英文原創作品 Java Program to Convert an Array into a List。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。