Sto provando a convertire un elenco annidato in un array 2D.Converti elenco nidificato in array 2d
List<List<String>> list = new ArrayList<>();
list.add(Arrays.asList("a", "b", "c"));
list.add(Arrays.asList("dd"));
list.add(Arrays.asList("eee", "fff"));
Voglio rendere questo uno String[][]
. Ho provato il seguente:
String[][] array = (String[][]) list.toArray(); // ClassCastException
String[][] array = list.toArray(new String[3][3]); // ArrayStoreException
String[][] array = (String[][]) list.stream() // ClassCastException
.map(sublist -> (String[]) sublist.toArray()).toArray();
C'è un modo che funziona? Si noti che non conoscerò la dimensione della lista fino al runtime e potrebbe essere frastagliata.
Non hai cercato di farlo manualmente con due annidati 'loop for'? – Tom