Java中ArrayList是一個非常實用的集合類,它可以存儲任意類型的數據。但是,有些情況下,我們需要將ArrayList轉換成數組。本文將從多個方面詳細闡述Java ArrayList轉換為數組的方法。
一、通過toArray()方法轉換
Java中ArrayList提供了toArray()方法,可以將ArrayList轉換成數組。代碼示例如下:
import java.util.ArrayList; import java.util.Arrays; public class ArrayListToArrayDemo { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++"); list.add("PHP"); String[] arr = list.toArray(new String[list.size()]); System.out.println(Arrays.toString(arr)); } }
首先,創建一個字符串類型的ArrayList,然後調用toArray()方法將ArrayList轉換成字符串類型的數組。
注意,toArray()方法的參數需要傳入一個指定類型和大小的數組,否則會返回一個Object類型的數組。同時,toArray()方法的返回值是一個新的數組,而不是原來的ArrayList。
二、通過Collections.addAll()方法轉換
Java中還有一種將ArrayList轉換成數組的方法,就是使用Collections.addAll()方法。該方法可以將一個數組或者其他集合中的元素添加到ArrayList中,並返回一個新的數組。代碼示例如下:
import java.util.ArrayList; import java.util.Collections; public class ArrayListToArrayDemo2 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++"); list.add("PHP"); String[] arr = new String[list.size()]; arr = list.toArray(arr); Collections.addAll(list, arr); System.out.println(list); } }
首先,創建一個字符串類型的ArrayList,調用toArray()方法將ArrayList轉換成字符串類型的數組,然後使用Collections.addAll()方法將數組中的元素添加到ArrayList中。
三、通過循環轉換
除了上述兩種方法,我們還可以使用循環將ArrayList轉換成數組。代碼示例如下:
import java.util.ArrayList; public class ArrayListToArrayDemo3 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++"); list.add("PHP"); String[] arr = new String[list.size()]; for (int i = 0; i < list.size(); i++) { arr[i] = list.get(i); } System.out.println(Arrays.toString(arr)); } }
首先,創建一個字符串類型的ArrayList,然後通過循環將ArrayList中的元素賦值給字符串數組。
這種方法比較簡單,但是需要手動遍歷ArrayList,效率比較低,盡量避免使用。
四、總結
以上就是Java ArrayList轉換成數組的三種方法,分別是通過toArray()方法轉換,通過Collections.addAll()方法轉換以及通過循環轉換。對於小數據量的轉換,使用哪種方法都無所謂。但是對於大數據量的轉換,建議使用toArray()方法,效率更高。
原創文章,作者:VDOL,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/134055.html