Подтвердить что ты не робот

Как использовать лямбда-выражения Java для печати массива?

Как я могу добиться следующей печати массива с использованием ямбда-выражений Java 8?

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

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

Ответ 1

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

Ответ 2

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

Ответ 3

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

является альтернативой (более ясная IMO) до Arrays.stream().

Ответ 4

Привет, вы можете преобразовать массив в список и использовать lambda, как показано ниже, с помощью нового метода forEach.

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

Ответ 5

Для простой печати целого числа нам не нужно отображать новый объект

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

Ответ 6

Вы можете напечатать массив простым способом, просто используя одну строку кода вместо написания цикла, используя функции Java8, то есть ссылки на stream и method

Пример:

int arrayName[] = new int[size];

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

Ответ 7

если вы используете JDK 8.

public static void print(int[] array) {
    StringJoiner joiner = new StringJoiner(",", "[", "]");
    Arrays.stream(array).forEach(element -> joiner.add(element + ""));
    System.out.println(joiner.toString());
}