Anuncios

Bienvenidos sean a este post, hoy veremos un metodo para la clase Arrays.

Anuncios

Este metodo se encarga de comparar dos arrays y devuelve un valor booleano para indicar si son iguales o no. Veamos como es su sintaxis:

Arrays.equals(array1, array2);
Anuncios

Este metodo toma dos arrays como argumentos y los compara entre si para verificar si son iguales. En caso, de que sean iguales devuelve un valor de true. De lo contrario, devuelve un false. Para entender el concepto, vamos a analizar el siguiente ejemplo:

import java.util.*;

public class Arreglos
{
  public static void main(String[] args)
  {
    String estado;
    String[] arreglo1 = {"tinchicus","enzo","marta"};
    String[] arreglo2 = {"enzo","tinchicus","marta"};
    boolean res = Arrays.equals(arreglo1, arreglo2);
    if (res) estado = "iguales"; else estado="diferentes";
    System.out.println("Los arrays son " + estado);
  }
}
Anuncios
Anuncios

Primero declaramos una variable de tipo String para usarla en un momento, luego definimos dos arrays con los mismos valores pero en distinto orden. Seguido a esto definimos una variable de tipo boolean que almacena el valor devuelto por el metodo aplicado a los dos arrays anteriores. Con este valor almacenado, usamos un condicional donde lo verificamos. Si es true, guardamos en estado el valor de iguales de lo contrario le asignamos el valor de diferentes (porque es false y no lo son). Para finalmente mostrar este valor indicando como son los dos arrays. Cual es el valor que nos devolvera? Compilemos y veamos como es la salida:

$ java Arreglos
Los arrays son diferentes
$
Anuncios

Porque nos dice que son diferentes si ambos valores tienen los mismo datos? Simple, este metodo solo los considera iguales si los valores son iguales y tienen el mismo orden. Para evitar este «fallo», vamos a modificar el codigo de la siguiente manera:

import java.util.*;

public class Arreglos
{
  public static void main(String[] args)
  {
    String estado;
    String[] arreglo1 = {"tinchicus","enzo","marta"};
    String[] arreglo2 = {"enzo","tinchicus","marta"};
    Arrays.sort(arreglo1);
    Arrays.sort(arreglo2);
    boolean res = Arrays.equals(arreglo1, arreglo2);
    if (res) estado = "iguales"; else estado="diferentes";
    System.out.println("Los arrays son " + estado);
  }
}
Anuncios

Solamente hicimos una modificacion, agregamos dos lineas para ordenar mediante el metodo sort a cada array antes de compararlos. El resto sigue siendo el mismo codigo que teniamos, compilemos y veamos como es la salida:

$ java Arreglos
Los arrays son iguales
$
Anuncios

Ahora nos devolvio que son iguales porque cumplimos las dos condiciones para que sea asi. Primero, todos los valores son iguales y ahora tienen el mismo orden.

Anuncios
Nota:
Sobre el metodo Arrays.sort hablamos en este post.
Anuncios

En resumen, hoy hemos visto a Arrays.equals, que es, para que sirve, como se utiliza, y un ejemplo practico para poder verlo en accion. Espero les haya resultado de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50