给定一个数组。您的任务是将给定的数组转换为 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。