列表和数组是您将经常使用的两种在 Java 中存储数据的方法。在您需要存储数据而无需任何类型的文件处理的项目中,列表和数组可让您在整个程序执行过程中存储数据。在本教程中,我们将交替使用在 Java 中实现列表接口的 ArrayList 类。
列表和数组之间的区别
列表 | 大批 |
---|---|
列表的大小可以改变 | 数组的大小不能改变 |
您不能将原始类型存储在列表中 | 您可以将原始类型存储在数组中 |
您可以将泛型与列表一起使用 | 您不能将泛型与数组一起使用 |
消耗更多内存 | 消耗更少的内存 |
使用库函数将列表转换为数组
List 有一个toArray()方法,它直接将任何列表的内容转换为数组,同时保留文本在数组中的位置,就像它在原始列表中一样。这是使用此内置库函数在 Java 中将列表转换为数组的算法/步骤。- 初始化一个 ArrayList。
- 通过list.add(data_type)方法向 List 添加元素。
- 创建一个与列表大小相同的数组。
- 使用在步骤 3 中创建的数组的变量名作为参数,将列表转换为数组。
- 打印数组的内容。
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 中将列表转换为数组,而无需任何库函数。- 初始化一个 ArrayList。
- 通过list.add(data_type)方法向 List 添加元素。
- 创建一个与列表大小相同的数组。
- 创建一个 for 循环,它将遍历 ArrayList 的每个元素,并通过list.get(index)函数将其传递给Array[index]。
- 打印数组的内容以表明您实际上正在将列表转换为数组。
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 中的每个索引处。
GO TO FULL VERSION