當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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