У меня есть следующий массив:
private static final int[][] BOARD = {
{ 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0 }
};
И я хочу создать строковое представление для него, поэтому, если бы я должен был напечатать его на консоли, он должен выглядеть следующим образом:
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
[0,0,0,0,0]
Я могу сделать это с помощью 2 вложенных циклов for
, но я пытаюсь сделать это с помощью потоков.Вот что я получил до сих пор:
public String toString() {
StringJoiner board = new StringJoiner("\n");
for (int i = 0; i < BOARD.length; i++) {
board.add(
IntStream.of(BOARD[i])
.mapToObj(String::valueOf)
.collect(Collectors.joining(",", "[", "]"))
);
}
return board.toString();
}
Возможно ли это?Я не особенно заинтересован в производительности (не стесняйтесь добавлять некоторые комментарии на этот счет, если хотите), я просто пытаюсь сделать это в одной цепочке потоковых операций.