Cómo convertir una lista de clases personalizada en una matriz bidimensional

Tengo class Box, que describe los parámetros del cuadro (alto, ancho, largo):

public class Box {
public int h; 
public int w; 
public int l; 

public Box(int h, int w, int l) {
    this.h = h;
    this.w = w;
    this.l = l;
}

En la entrada tengo una lista de cajas, ¿cómo convertirla en una matriz bidimensional? Una fila = una caja:

 List<Box> listBox1 = new ArrayList<>();
 listBox1.add(new Box(12, 11, 12));
 listBox1.add(new Box(11, 12, 12));
 listBox1.add(new Box(1, 1, 1));
 listBox1.add(new Box(67, 34, 13));

Producción:

12 11 12 // 1st box and e.t.c...
11 12 12
1  1  1
67 34 13
Answer

Su matriz bidimensional debe tener un tamaño (m * n), donde m es la longitud de la lista de cuadros y n se fija en 3 para tres propiedades (h, w, l).

Obtener la longitud de arrayList int length = listBox1.size();

Un código de muestra como se muestra a continuación.

      int[][] array = new int[length][3];
      for(Box box : listBox1){
            int index = listBox1.indexOf(box);
            array[index][0] = box.h;
            array[index][1] = box.w;
            array[index][2] = box.l;
        }

      for(int i=0 ; i<array.length; i++){
         System.out.println(array[i][0] + " " + array[i][1] + " " + array[i][2]);
       }