Frage Wie verwende ich die Lambda-Ausdrücke von Java, um ein Array zu drucken?


Wie kann ich den folgenden Array-Druck mit den Lambda-Ausdrücken von Java 8 erzielen?

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

for (int value : values) {
    System.out.println(Integer.toUnsignedString(value, 16));
}

19
2018-04-27 14:45


Ursprung


Antworten:


Arrays.stream(values)
      .mapToObj(i -> Integer.toUnsignedString(i, 16))
      .forEach(System.out::println);

38
2018-04-27 14:48



String[] nums = {"three","two","one"};
Arrays.stream(nums).forEach(num -> System.out.println(num));

9
2017-09-25 07:25



Hallo, Sie können Array in Liste konvertieren und verwenden Sie Lambda wie unten mit neuen forEach Methode.

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

1
2018-04-27 14:55



IntStream.of(values)
            .mapToObj(i -> Integer.toUnsignedString(i, 16))
            .forEach(System.out::println);

ist eine Alternative (klarer IMO) zu Arrays.stream().


1
2018-04-27 15:37



Um ganzzahlig zu drucken, müssen wir kein neues Objekt zuordnen

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

0
2018-04-01 08:08



Sie können das Array auf einfache Weise drucken, indem Sie nur eine Codezeile verwenden, anstatt eine Schleife zu schreiben, indem Sie Java8-Features verwenden, z. stream und method Verweise

Beispiel:

int arrayName[] = new int[size];

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

0
2018-05-05 13:56