Java >> Tutoriel Java >  >> Java

Convertir la liste de la liste en tableau 2d Java

Convertir la liste de la liste en tableau Java 2d | Dans cet article, nous écrivons un programme Java pour convertir une liste de liste en tableau 2d java.

Comprenons-le à travers un exemple :-
list1 =[1, 2, 3]
list2 =[4, 5, 6]
list3 =[7, 8, 9]
listOfList =[ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
Maintenant, nous avons une liste de listes et nous voulons la convertir en 2d déployer. Voyons comment convertir un entier de liste de liste en tableau Java 2d.

Programme pour convertir une liste de liste en tableau 2d Java en utilisant Stream

import java.util.Arrays;
import java.util.List;

public class Main {
   public static void main(String[] args) {
      List<List<Integer>> listOfList = 
            Arrays.asList(Arrays.asList(7, 8, 5), 
                       Arrays.asList(4, 3, 22),
                       Arrays.asList(4, 3, 7));

      int[][] array = listOfList.stream()
                          .map(l -> l.stream()
                               .mapToInt(Integer::intValue)
                               .toArray()
                              )
                          .toArray(int[][]::new);
      
      System.out.println("2D array: " +
             Arrays.deepToString(array));
   }
}

Sortie :-

Tableau 2D :[ [7, 8, 5], [4, 3, 22], [4, 3, 7] ]

L'explication du code est la suivante :-
Etape-1 : Importer des tableaux et une liste car nous travaillons dessus, nous pourrions avoir besoin des fonctions et des méthodes dans les tableaux et la liste.
Etape-2 :- Dans la classe principale, créez la méthode principale. Dans la méthode principale, créez un objet d'entier de liste et ajoutez-y les éléments en utilisant arrays.asList().
Etape-3 :- En utilisant la méthode stream().map() qui convertit les éléments de la liste en deux tableau de dimensions et imprime le même.

Dans le programme ci-dessus, nous avons initialisé la liste des listes en utilisant la méthode Arrays.asList(). Voyons un autre programme pour convertir une liste de liste en tableau 2d Java.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main {
   public static void main(String[] args) {
      List<List<Integer>> listOfList = 
               new ArrayList<List<Integer>>();
      List<Integer> list1 = new ArrayList<>();
      list1.add(10);
      list1.add(20);
      list1.add(30);
      listOfList.add(list1);
      List<Integer> list2 = new ArrayList<>();
      list2.add(9);
      list2.add(18);
      list2.add(27);
      listOfList.add(list2);
      List<Integer> list3 = new ArrayList<>();
      list3.add(11);
      list3.add(22);
      list3.add(33);
      listOfList.add(list3);
      System.out.println("List of list = " + listOfList);
      
      int[][] array = listOfList.stream()
            .map(l -> l.stream()
                .mapToInt(Integer::intValue)
                .toArray()
                )
            .toArray(int[][]::new);

      System.out.println("2D array: " +
             Arrays.deepToString(array));
   }
}

Sortie :-

Liste de liste =[ [10, 20, 30], [9, 18, 27], [11, 22, 33] ]
Tableau 2D :[ [10, 20, 30], [9, 18, 27], [11, 22, 33] ]


Balise Java