CodeGym /Java 博客 /随机的 /在 Java 中将列表转换为数组
John Squirrels
第 41 级
San Francisco

在 Java 中将列表转换为数组

已在 随机的 群组中发布
列表和数组是您将经常使用的两种在 Java 中存储数据的方法。在您需要存储数据而无需任何类型的文件处理的项目中,列表和数组可让您在整个程序执行过程中存储数据。在本教程中,我们将交替使用在 Java 中实现列表接口的 ArrayList 类。

列表和数组之间的区别

列表 大批
列表的大小可以改变 数组的大小不能改变
您不能将原始类型存储在列表中 您可以将原始类型存储在数组中
您可以将泛型与列表一起使用 您不能将泛型与数组一起使用
消耗更多内存 消耗更少的内存

使用库函数将列表转换为数组

List 有一个toArray()方法,它直接将任何列表的内容转换为数组,同时保留文本在数组中的位置,就像它在原始列表中一样。这是使用此内置库函数在 Java 中将列表转换为数组的算法/步骤。
  1. 初始化一个 ArrayList。
  2. 通过list.add(data_type)方法向 List 添加元素。
  3. 创建一个与列表大小相同的数组。
  4. 使用在步骤 3 中创建的数组的变量名作为参数,将列表转换为数组。
  5. 打印数组的内容。
下面给出了实现这些步骤的代码。

import java.util.ArrayList;
public class convertListToArray {
 
    public static void main(String[] args) {
 
        //Converting List to Array With Library Function
 
        //Declaration of Array List
        ArrayList<String> sampleList = new ArrayList<String>();
 
        //Adding Elements to Array List
        sampleList.add("California");
        sampleList.add("Texas");
        sampleList.add("Illinois");
        sampleList.add("Massachusetts");
        sampleList.add("Florida");
        sampleList.add("Virginia");
        sampleList.add("Colorado");
 
 
        //Printing the Array List
        System.out.println("Elements of List: " + sampleList);
 
        //Declaring Array with Equal Size to the List
        String[]arr = new String [sampleList.size()];
 
        //Converting List to Array
        sampleList.toArray(arr);
 
        //Printing the Array
        System.out.print("Elements of Array: ");
        for (int i = 0 ; i < arr.length ; i++){
            System.out.print(arr[i] + "  ");
        }
    }
}

不使用库函数将列表转换为数组

有时,可能需要在不使用内置函数的情况下将列表转换为数组。手头的问题可能会在库函数方面使用某些限制。这种要求对于编程学生来说很常见,他们被鼓励在没有库函数的情况下工作,以帮助他们在实现这些函数之前了解这些函数的内部工作原理。在这种情况下,您可以使用以下步骤在 java 中将列表转换为数组,而无需任何库函数。
  1. 初始化一个 ArrayList。
  2. 通过list.add(data_type)方法向 List 添加元素。
  3. 创建一个与列表大小相同的数组。
  4. 创建一个 for 循环,它将遍历 ArrayList 的每个元素,并通过list.get(index)函数将其传递给Array[index]
  5. 打印数组的内容以表明您实际上正在将列表转换为数组。
下面给出了实现这些步骤的代码。

import java.util.ArrayList;
public class converListToArray2 {
 
    public static void main(String[] args) {
        //Converting List to Array Without Library Functions
 
        //Declaration of Array List
        ArrayList<String> sampleList = new ArrayList<String>();
 
        //Adding Elements to Array List
        sampleList.add("California");
        sampleList.add("Texas");
        sampleList.add("Illinois");
        sampleList.add("Massachusetts");
        sampleList.add("Florida");
        sampleList.add("Virginia");
        sampleList.add("Colorado");
 
 
        //Printing the Array List
        System.out.println("Elements of List: " + sampleList);
 
        //Declaring Array with Equal Size to the List
        String[]arr = new String [sampleList.size()];
 
        //Converting to Array
        for (int i = 0 ; i < arr.length ; i++){
            arr[i] = sampleList.get(i);
        }
 
        //Printing the Array
        System.out.print("Elements of Array: ");
        for (int i = 0 ; i < arr.length ; i++){
            System.out.print(arr[i] + "  ");
        }
    }
}
同样,如果您还想知道如何将 Array 转换为 List,可以使用内置的Array.asList()方法或遍历数组并将值存储在 List 中的每个索引处。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION