Array compare
In this chapter you will learn:
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:
Home » Java Tutorial » Array