web-dev-qa-db-fra.com

Comment utiliser les expressions lambda de Java pour imprimer un tableau?

Comment puis-je obtenir l'impression de matrice suivante à l'aide des expressions lambda de Java 8?

int[] values = new int[16];
// Populate values

for (int value : values) {
    System.out.println(Integer.toUnsignedString(value, 16));
}
23
Arrays.stream(values)
      .mapToObj(i -> Integer.toUnsignedString(i, 16))
      .forEach(System.out::println);
40
JB Nizet
String[] nums = {"three","two","one"};
Arrays.stream(nums).forEach(num -> System.out.println(num));
12
sakumar
IntStream.of(values)
            .mapToObj(i -> Integer.toUnsignedString(i, 16))
            .forEach(System.out::println);

est une alternative (plus claire OMI) à Arrays.stream().

2
Maurice Naftalin

Vous pouvez imprimer le tableau de manière simple en utilisant une seule ligne de code au lieu d'écrire une boucle, en utilisant les fonctionnalités Java8, à savoir les références stream et method

Exemple: 

int arrayName[] = new int[size];

Arrays.stream(arrayName).forEach(System.out::println); //This will iterate and print each element of the array.
2
Hetal Rachh

Bonjour, vous pouvez convertir un tableau en liste et utiliser lambda comme ci-dessous en utilisant la nouvelle méthode forEach.

int[] values = new int[16];
List<Integer> list = Arrays.asList(values);
list.forEach(n -> System.out.println(n));
1
Karibasappa G C

Pour simplement imprimer un entier, nous n'avons pas besoin de mapper sur un nouvel objet

Arrays.stream(arrInt1)            
      .forEach(i ->{
          System.out.print(i);
          System.out.print("\t");
      });
0
parasuraman s