一、使用List.toArray()方法
List是Java中常用的容器類型之一,通過toArray()方法可以將List轉換為數組。
List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++"); String[] arr = list.toArray(new String[list.size()]);
在上面的示例中,我們首先創建了一個List,並向其中添加了三個元素。然後,我們調用toArray()方法將List轉換為數組。需要注意的是,在toArray()方法中,我們需要傳入一個同樣類型的數組作為參數,這個數組的長度可以小於或等於List的長度。如果小於List的長度,那麼List中多餘的元素將被丟棄;如果等於List的長度,那麼正常轉換。
二、使用Arrays.asList()方法
在Java中,我們可以使用Arrays.asList()方法將數組轉換為List,也可以使用Collections.addAll()方法將數組中的元素添加到List中,然後再將List轉換為數組。
String[] arr = {"Java", "Python", "C++"}; List<String> list = new ArrayList<>(Arrays.asList(arr)); String[] arr2 = new String[arr.length]; Collections.addAll(list, arr2); arr2 = list.toArray(arr2);
在上面的示例中,我們首先定義了一個包含三個元素的數組。然後,我們使用Arrays.asList()方法將數組轉換為List,並將其賦值給list變數。接著,我們再創建一個長度等於數組長度的空數組,並利用Collections.addAll()方法將List中的元素添加到數組中。最後,我們在將List轉換為數組。需要注意的是,這裡我們需要傳入一個同樣類型的空數組,用於存放轉換後的結果。
三、使用StreamAPI
在JDK8以後,Java提供了StreamAPI,可以很方便地對集合進行操作,並進行數組的轉換。
String[] arr = {"Java", "Python", "C++"}; String[] result = Arrays.stream(arr) .filter(s -> s.startsWith("J")) .toArray(String[]::new);
在上面的示例中,我們首先定義了一個包含三個元素的數組。然後,我們使用Arrays.stream()方法將其轉換為Stream,並使用filter()方法過濾出以J開頭的元素。最後,我們使用toArray()方法將Stream轉換為數組。需要注意的是,我們需要傳入一個構造器引用,用於創建新的數組。
四、使用Apache Commons Lang庫
除了Java自帶的方法之外,我們還可以使用第三方庫Apache Commons Lang提供的ArrayUtils類來實現數組與集合之間的轉換。
String[] arr = {"Java", "Python", "C++"}; List<String> list = Arrays.asList(arr); String[] arr2 = ArrayUtils.toArray(list);
在上面的示例中,我們首先定義了一個包含三個元素的數組。然後,我們使用Arrays.asList()方法將其轉換為List,並將其賦值給list變數。接著,我們使用ArrayUtils.toArray()方法將List轉換為數組。需要注意的是,這裡我們需要傳入一個同樣類型的數組,用於存放轉換後的結果。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193993.html