Java - лучший способ печати 2D-массива?

Мне было интересно, что лучший способ печати 2D-массива был. Это какой-то код, который у меня есть, и мне просто интересно, хорошо это или нет. Также исправьте меня в любых других ошибках, которые я сделал в этом коде, если вы найдете их. Благодаря!

int rows = 5;
int columns = 3;

int[][] array = new int[rows][columns];

for(int i = 0; i<rows; i++)
    for(int j = 0; j<columns; j++)
        array[i][j] = 0;

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

java,arrays,printing,

38

Ответов: 7


Вы можете печатать простым способом.

Используйте ниже для печати 2D-массива

int[][] array = new int[rows][columns];
System.out.println(Arrays.deepToString(array));

Используйте ниже для печати массива 1D

int[] array = new int[size];
System.out.println(Arrays.toString(array));

Я бы предпочел вообще, foreachкогда мне не нужно делать арифметические операции с их индексами.

for (int[] x : array)
{
   for (int y : x)
   {
        System.out.print(y + " ");
   }
   System.out.println();
}

Нет ничего плохого в том, что у вас есть. Двойные вложенные петли должны легко усваиваться любым, кто читает ваш код.

Тем не менее, следующая формулировка более плотная и более идиоматическая java. Я бы посоветовал подумать о некоторых статических классах утилиты, таких как массивы и коллекции, раньше, чем позже. Тонны шаблона могут быть сбриты благодаря их эффективному использованию.

for (int[] row : array)
{
    Arrays.fill(row, 0);
    System.out.println(Arrays.toString(row));
}

Простой и чистый способ печати 2D-массива.

System.out.println(Arrays.deepToString(array).replace("], ", "]
").replace("[[", "[").replace("]]", "]"));

3

Это лучшее, что я предполагаю:

   for (int[] row : matrix){
    System.out.println(Arrays.toString(row));
   }
Java, массивы, печати,
Похожие вопросы