Artículos
Java

Comparar Matrices en Java

22/Jul/2015

Mediante el siguiente ejemplo vamos a ver como podemos comparar matrices en Java. Es decir ver si dos matrices son iguales, si tienen el mismo número de elementos y dichos elementos coinciden.

Lo primero que tenemos que recordar es que una matriz en Java es un array, un array bidimensional:

int[][] matriz1 = {{1,2,3},{4,5,6}};
int[][] matriz2 = {{1,2,3},{4,5,6}};

Es por ello que podríamos reducir que para comparar Matrices en Java podríamos realizar una comparación de Arrays mediante el método .equals.

if (Arrays.equals(matriz1, matriz2))
  System.out.println("Son matrices iguales");
else
  System.out.println("Son matrices diferentes");

El problema es que el método equals va a ejecutar el comparador de objetos.

.equals(Object[],Object[])

Este comparador solamente va a evaluar las referencias de los objetos y va a ver que son dos objetos diferentes. No realiza ninguna comparación lógica. Por lo tanto el resultado será de false.

Para realizar una comparación lógica deberemos de realizar un análisis recursivo. Y para ello tenemos el método .deepEquals(). Este método evaluará de forma cada uno de los elementos que contienen el array bidimensional.

if (Arrays.deepEquals(matriz1, matriz2))
  System.out.println("Son matrices iguales");
else
  System.out.println("Son matrices diferentes");

En este caso al comparar matrices en Java mediante el método .deepEquals obtendremos que las matrices definidas inicialmente son iguales.

Código Fuente

Descárgate el código fuente de Comparar Matrices en Java
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
0 Comentarios
Opiniones integradas
Ver todos los comentarios