1. 程式人生 > >將ArrayList 轉化為普通陣列,Lambda 表示式

將ArrayList 轉化為普通陣列,Lambda 表示式

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]