列表和數組是您將經常使用的兩種在 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