将数组转换为列表的Java程序
给定一个数组。您的任务是将给定数组转换为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]
数组:数组是一组类似类型的变量,它们由一个通用名称引用。数组可以包含原始数据类型以及类的对象,具体取决于数组的定义。在原始数据类型的情况下,实际值存储在连续的内存位置。对于类的对象,实际对象存储在堆段中。
List: Java.util.List 是 Collection 的子接口。它是可以存储重复值的对象的有序集合。由于 List 保留了插入顺序,它允许元素的位置访问和插入。 List 接口由 ArrayList、LinkedList、Vector 和 Stack 类实现。
在Java中有许多方法可以将数组转换为列表。下面列出了其中的一些。
- 蛮力或天真的方法
- 使用 Arrays.asList() 方法
- 使用 Collections.addAll() 方法
- 使用Java 8 流 API
- 使用番石榴 Lists.newArrayList()
1.蛮力或天真的方法
在此方法中,创建一个空 List,并将 Array 中存在的所有元素一一添加到其中。
算法:
- 获取要转换的数组。
- 创建一个空列表
- 遍历 Array 中的项目。
- 对于每个项目,将其添加到列表中
- 返回形成的列表
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 List convertArrayToList(T array[])
{
// Create an empty List
List 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 list = convertArrayToList(array);
// Print the List
System.out.println("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 List convertArrayToList(T array[])
{
// Create the List by passing the Array
// as parameter in the constructor
List 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 list = convertArrayToList(array);
// Print the List
System.out.println("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 List convertArrayToList(T array[])
{
// Create the List by passing the Array
// as parameter in the constructor
List 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 list = convertArrayToList(array);
// Print the List
System.out.println("List: " + 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 List 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 list = convertArrayToList(array);
// Print the List
System.out.println("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 List 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 list = convertArrayToList(array);
// Print the List
System.out.println("List: " + list);
}
}
输出
Array: [Geeks, forGeeks, A Computer Portal]
List: [Geeks, forGeeks, A Computer Portal]
2. 使用 Arrays.asList() 方法
在此方法中,Array 在 Arrays.asList() 方法的帮助下作为参数传递给 List 构造函数。
算法:
- 获取要转换的数组。
- 在 Arrays.asList() 方法的帮助下,在 List 的构造函数中创建绕过 Array 作为参数的 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 List convertArrayToList(T array[])
{
// Create the List by passing the Array
// as parameter in the constructor
List 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 list = convertArrayToList(array);
// Print the List
System.out.println("List: " + list);
}
}
输出
Array: [Geeks, forGeeks, A computer Portal]
List: [Geeks, forGeeks, A computer Portal]
3. 使用 Collections.addAll()
因为 List 是Java中 Collection 包的一部分。因此,可以借助 Collections.addAll() 方法将 Array 转换为 List。
算法:
- 获取要转换的数组。
- 创建一个空列表。
- 通过将数组作为参数传递给 Collections.addAll() 方法,将数组添加到 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 List convertArrayToList(T array[])
{
// Create the List by passing the Array
// as parameter in the constructor
List 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 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 构造函数可以采用另一个集合对象来构造一个包含指定数组元素的新列表。
算法:
- 获取要转换的数组。
- 将数组转换为 Stream
- 使用 Collectors.toList() 将流转换为列表
- 使用 collect() 方法收集形成的列表
- 返回形成的列表
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 List 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 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 Lists.newArrayList()
Lists.newArrayList() 创建一个可变的 ArrayList 实例,其中包含指定数组的元素。
算法:
- 获取要转换的数组。
- 创建一个空列表。
- 通过将数组作为参数传递给 Lists.newArrayList() 方法,将数组添加到 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 List 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 list = convertArrayToList(array);
// Print the List
System.out.println("List: " + list);
}
}
输出
Array: [Geeks, forGeeks, A computer Portal]
List: [Geeks, forGeeks, A computer Portal]