简体   繁体   中英

How to convert List of int array to 2D Array?

Given a list of int[] [{7, 0}, {7, 1}, {6, 1}, {5, 0}, {5, 2}, {4, 4}] I need to convert it into 2D Array {{7, 0}, {7, 1}, {6, 1}, {5, 0}, {5, 2}, {4, 4}} using Java 8.

Before Java 8 we could use the following logic: temp is List<int[]> which contains above list of elements. First res[][] is created of the same size as a List of elements in temp .

int[][] res = new int[temp.size()][2];
for (int i = 0; i < temp.size(); i++) {
   res[i][0] = temp.get(i)[0];
   res[i][1] = temp.get(i)[1];
}

Try this.

List<int[]> list = List.of(
    new int[] {7, 0}, new int[] {7, 1},
    new int[] {6, 1}, new int[] {5, 0},
    new int[] {5, 2}, new int[] {4, 4});
int[][] res = list.stream().toArray(int[][]::new);
System.out.println(Arrays.deepToString(res));

result

[[7, 0], [7, 1], [6, 1], [5, 0], [5, 2], [4, 4]]

See this code run live at IdeOne.com .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM