Array compare

In this chapter you will learn:

  1. Compare two arrays
  2. Compare two two-dimensional array
  3. Compare two arrays by reference

Compare two arrays

The following methods from Arrays class compare two arrays and tell if they are equal.

  • static boolean equals(boolean[] a, boolean[] a2)
  • static boolean equals(byte[] a, byte[] a2)
  • static boolean equals(char[] a, char[] a2)
  • static boolean equals(double[] a, double[] a2)
  • static boolean equals(float[] a, float[] a2)
  • static boolean equals(int[] a, int[] a2)
  • static boolean equals(long[] a, long[] a2)
  • static boolean equals(Object[] a, Object[] a2)
  • static boolean equals(short[] a, short[] a2)

The following code uses the methods above to compare two Java Arrays with Arrays.equals() method.

import java.util.Arrays;
/*j av a  2  s  .  c  om*/
public class Main {
  public static void main(String[] args) {
    boolean[] booleanArray1 = new boolean[] { true, false, true };
    boolean[] booleanArray2 = new boolean[] { true, false, true };
    System.out.println(Arrays.equals(booleanArray1, booleanArray2));

    byte[] byteArray1 = new byte[] { 1, 2, 3 };
    byte[] byteArray2 = new byte[] { 3, 2, 1 };
    System.out.println(Arrays.equals(byteArray1, byteArray2));

    char[] charArray1 = new char[] { 'j', 'a', 'v', 'a' };
    char[] charArray2 = new char[] { 'j', 'a', 'v', 'a' };
    System.out.println(Arrays.equals(charArray1, charArray2));

    double[] doubleArray1 = new double[] { 1.1, 2.2, 3.3 };
    double[] doubleArray2 = new double[] { 1.1, 2.2, 3.3 };
    System.out.println(Arrays.equals(doubleArray1, doubleArray2));

    float[] floatArray1 = new float[] { 1.2f, 2.3f, 3.3f };
    float[] floatArray2 = new float[] { 1.2f, 2.3f, 3.3f };
    System.out.println(Arrays.equals(floatArray1, floatArray2));

    int[] intArray1 = new int[] { 1, 2, 3 };
    int[] intArray2 = new int[] { 1, 2, 3 };
    System.out.println(Arrays.equals(intArray1, intArray2));

    long[] longArray1 = new long[] { 999999999, 999999999, 999999999 };
    long[] longArray2 = new long[] { 999999999, 999999999, 999999999 };
    System.out.println(Arrays.equals(longArray1, longArray2));

    short[] shortArray1 = new short[] { 107, 93, 58 };
    short[] shortArray2 = new short[] { 107, 93, 58 };
    System.out.println(Arrays.equals(shortArray1, shortArray2));

  }
}

The output:

Compare two two-dimensional array

import java.lang.reflect.Array; public class Util { public static boolean equals (boolean[][] m1, boolean[][] m2) { if (m1.length != m2.length) return false; for (int i = 0; i < m1.length; i++) { if (m1[i].length != m2[i].length) return false; for (int j = 0; j < m1[i].length; j++) { boolean b1 = m1[i][j]; boolean b2 = m2[i][j]; if (b1 != b2) return false; } } return true; } }

Compare two arrays by reference

public class Main {
  public static boolean equalReferencesInArrays(final Object[] array1,
                                                final Object[] array2) {
      if (array1 == null) {
          return (array2 == null);
      }/*  j a v a 2 s  .c  o m*/
      if (array2 == null) {
          return false;
      }
      if (array1.length != array2.length) {
          return false;
      }
      for (int i = 0; i < array1.length; i++) {
          if (array1[i] == null) {
              if (array2[i] != null) {
                  return false;
              }
          }
          if (array2[i] == null) {
              if (array1[i] != null) {
                  return false;
              }
          }
          if (array1[i] != array2[i]) {
              return false;
          }
      }
      return true;
  }

}

Next chapter...

What you will learn in the next chapter:

  1. Binary search an Array
  2. Binary Search on byte Array
  3. Insert an Element into a Sorted Array
Home » Java Tutorial » Array
Java Array
Create an Array
Array Index and length
Multidimensional Arrays
Array examples
Array copy
Array compare
Array Binary search
Array Search
Array sort
Array to List
Convert array to Set
Array fill value
Array to String
Array element reverse
Array element delete
Array shuffle
Array element append
Array min / max value
Sub array search
Get Sub array
Array dimension reflection
Array clone