util sort copyof array java arrays fill

sort - Java Arrays.fill()



import java util arrays (5)

Aquí hay una sugerencia usando un para cada uno:

for (int[] row : array) Arrays.fill(row, 0);

Puedes verificar que funciona haciendo

System.out.println(Arrays.deepToString(array));

Una nota al margen: ya que está creando la matriz, justo antes del relleno, el relleno no es realmente necesario (siempre y cuando realmente quiera ceros). Java inicializa todos los elementos de matriz a sus valores predeterminados correspondientes, y para int es 0 :-)

¿Cómo llenar una matriz multidimensional?

int[][] array = new int[4][6]; Arrays.fill(array, 0);

Lo intenté, pero no funciona.


Dado que la matriz es realmente una matriz de matrices, quizás pueda intentar hacer un bucle en cada fila y rellenar cada una individualmente.


Primero, tenga en cuenta que 0 es el valor predeterminado para las matrices int, por lo que no tiene que rellenar algo con 0.

Si desea que su matriz se mantenga verdaderamente multidimensional, necesitará un bucle.

public static void fill(int[][] array, int element) { for(int[] subarray : array) { Arrays.fill(subarray, element); } }

Si solo necesitas una matriz 2D llena con el mismo elemento y no quieres cambiar las subarrays más tarde, puedes usar este truco:

public static int[][] create2DArray(int length, int subLength, int element) { int[] subArray = new int[subLength]; Arrays.fill(subArray, element); int[][] array = new int[length][]; Arrays.fill(array, subArray); return array; }

Esto funciona de manera análoga para matrices de dimensiones superiores.


Prueba esto:

for(int i = 0; i < array.length; i++) { Arrays.fill(array[i], 0); }

No lo he probado, pero creo que debería funcionar.


Vea esta manera:

Arrays.fill(array[0], 0); Arrays.fill(array, array[0]);