Size: a a a

2020 October 26

B

Bromles in learn.java
Как с помощью стримов вывести двумерный массив в виде матрицы? Arrays.stream(array).flatMapToInt(Arrays::stream).forEach(System.out.print) выводит в одну строчку, с println выводит в столбик
источник

B

Bromles in learn.java
А если не через стримы, то System.out.println(Arrays.deepToString(array)) выводит все рпвно не в том виде.

задумался тут просто. Задача тривиальная, но интересно, как решить ее без простых циклов
источник

T

Tagir in learn.java
Arrays.stream(array).map(a -> Arrays.stream(a).mapToObj(String::valueOf).collect(joining(" ")).forEach(System.out::println)
источник

B

Bromles in learn.java
Tagir
Arrays.stream(array).map(a -> Arrays.stream(a).mapToObj(String::valueOf).collect(joining(" ")).forEach(System.out::println)
Спасибо. А чтобы между массивами внутри массива была пустая строка при выводе?
источник

T

Tagir in learn.java
Ну это уже тривиальное упражнение, мне кажется :-)
источник

B

Bromles in learn.java
окей, сам попробую)
источник

M

Maxim Borisov in learn.java
Есть какое то сокращение в idea чтобы быстро написать System.out::println
источник

AE

Aleksandr Ershov in learn.java
Maxim Borisov
Есть какое то сокращение в idea чтобы быстро написать System.out::println
sout
источник

AE

Aleksandr Ershov in learn.java
источник

M

Maxim Borisov in learn.java
Не чтоб через точки две когда в стримах пишешь
источник

M

Maxim Borisov in learn.java
Ладно может это излишки конечно.
источник

ch

central hardware in learn.java
Maxim Borisov
Не чтоб через точки две когда в стримах пишешь
Ну сделай свое, что мешает?
источник

M

Maxim Borisov in learn.java
Да уже тоже вспомнил что можно свои сделать. Спасибо
источник

B

Bromles in learn.java
Bromles
окей, сам попробую)
1. Сделал, добавив аргументы в joining
2. Параллельный стрим поднасрал, выведя все в рандомном порядке. Это было очевидно и ожидаемо, если подумать, но я не подумал
источник

B

Bromles in learn.java
Код на циклах

for(int i = 0; i < 3; i++)
{

for(int j = 0; j < 3; j++)
{
System.out.print(array[i][j] + " ");
}

System.out.println();
}

System.out.println("-------------");


Код на стримах

Arrays.stream(array).map(a -> Arrays.stream(a).mapToObj(String::valueOf).collect(Collectors.joining(" "))).peek(System.out::println).skip(2).map(x -> x = "-------------").forEach(System.out::println);

Поправьте меня, если на стримах можно сделать оптимальнее. Но пока что идея "вообще циклы не использовать, стримы читаемее" выглядит так себе
источник

B

Bromles in learn.java
Последнее время с этим проблемы
источник

T

Tagir in learn.java
Maxim Borisov
Есть какое то сокращение в idea чтобы быстро написать System.out::println
soutc
источник

T

Tagir in learn.java
Я это недавно сделал. Кажется, в 2020.2. В более старых версиях нету
источник

T

Tagir in learn.java
central hardware
Ну сделай свое, что мешает?
Самому сделать в более ранних версиях было сложно, контекста подходящего не было. Оно бы предлагалось где не надо
источник

M

Maxim Borisov in learn.java
О спасибо. Ничего себе разработчик idea в чатике
источник