一、概述
java.util.List
是Java中常用的數據結構之一,它可以存儲任意類型的對象。而java.util.ArrayList
是List
介面的一個實現類,它使用數組來存儲元素,支持動態擴容。在這篇文章中,我們將介紹java.util.ArrayList
中的toArray()
和toArray(T[] a)
方法,它們可以將一個ArrayList
對象轉換成數組。
二、toArray()
方法
toArray()
方法返回一個包含該列表所有元素的數組。返回數組的運行時類型是Object[]
。可以使用以下方式將其轉換為適當的類型:
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
Object[] arr = list.toArray();
String[] strArr = Arrays.copyOf(arr, arr.length, String[].class);
調用Arrays.copyOf
方法將Object[]
轉換為String[]
數組。
三、toArray(T[] a)
方法
toArray(T[] a)
方法返回一個包含該列表所有元素的數組,其運行時類型是指定數組的類型。假設a
數組足夠大來包含列表中的所有元素,則將元素複製到該數組中。否則,將根據指定數組的運行時類型和此列表的大小分配一個新數組。如果指定的數組為空,則返回一個具有運行時類型T[]
的新數組。如果指定的數組長度小於列表大小,則返回一個新數組,其運行時類型是指定數組的類型,長度與該列表相同。
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
String[] strArray = new String[2];
strArray = list.toArray(strArray);
在這裡,我們創建一個大小為2的String
數組,並在調用toArray
方法時將其傳遞給它。如果傳遞的數組足夠大,則將元素存儲在該數組中,否則將創建一個新數組,並將元素存儲在其中。
四、總結
使用toArray()
和toArray(T[] a)
方法可以將ArrayList
對象轉換為數組。toArray()
方法返回一個Object[]
數組,需要將其強制轉換為適當的類型。toArray(T[] a)
方法則返回一個指定類型的數組,如果傳入的數組足夠大,則將元素存儲在該數組中,否則將創建一個新數組。
以下是完整的代碼示例:
List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");
Object[] arr = list.toArray();
String[] strArr = Arrays.copyOf(arr, arr.length, String[].class);
String[] strArray = new String[2];
strArray = list.toArray(strArray);
原創文章,作者:EWDF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137547.html