当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Array转List用法及代码示例


给定一个数组。您的任务是将给定的数组转换为 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. 暴力或简单的方法

在此方法中,创建一个空列表,并将数组中存在的所有元素一一添加到其中。

算法:

  1. 获取要转换的数组。
  2. 创建一个空列表
  3. 遍历数组中的项目。
  4. 对于每个项目,将其添加到列表中
  5. 返回形成的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 构造函数中。

算法:

  1. 获取要转换的数组。
  2. 借助 Arrays.asList() 方法创建列表,绕过数组作为列表构造函数中的参数
  3. 返回形成的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() 方法将数组转换为列表。

算法:

  1. 获取要转换的数组。
  2. 创建一个空列表。
  3. 通过将数组作为参数传递给 Collections.addAll() 方法,将数组添加到 List 中。
  4. 返回形成的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 构造函数可以采用另一个集合对象来构造一个包含指定数组元素的新列表。

算法:

  1. 获取要转换的数组。
  2. 将数组转换为流
  3. 使用Collector将流转换为列表。toList()
  4. 使用collect()方法收集形成的列表
  5. 返回形成的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 实例,其中包含指定数组的元素。

算法:

  1. 获取要转换的数组。
  2. 创建一个空列表。
  3. 通过将数组作为参数传递给 Lists.newArrayList() 方法,将数组添加到 List 中。
  4. 返回形成的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]


相关用法


注:本文由纯净天空筛选整理自RishabhPrabhu大神的英文原创作品 Java Program to Convert an Array into a List。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。