將ArrayList 轉化為普通陣列,Lambda 表示式
阿新 • • 發佈:2018-12-30
ArrayList 中的元素必須為物件,如何將其轉為普通陣列呢?
例如將 ArrayList<Integer> 轉化為 int[] 陣列,除了用 for 迴圈呼叫 ArrayList 中的 get 方法外,還可以使用 java8 中的 lambda 表示式。
舉例:
import java.util.ArrayList; import java.util.Arrays; public class HelloWorld { public static void main(String[] args) { ArrayList<Integer> arr = new ArrayList<>(); arr.add(20); arr.add(10); arr.add(2); int[] arr2 = arr.stream().mapToInt(p -> p.intValue()).toArray(); //方法1 int[] arr3 = arr.stream().mapToInt(Integer :: intValue).toArray(); // 方法2 System.out.println(Arrays.toString(arr2)); System.out.println(Arrays.toString(arr3)); } }
輸出結果:
[20, 10, 2]
[20, 10, 2]