Java Array equals()
Die Methode Arrays.equals()
in Java ist eine Hilfsfunktion, die von der Klasse java.util.Arrays
bereitgestellt wird. Sie wird verwendet, um zwei Arrays auf Gleichheit zu vergleichen. Diese Methode prüft, ob zwei Arrays gleich sind, indem sie die Elemente in beiden Arrays der Reihe nach vergleicht. Sie ist überladen, um mit Arrays verschiedener Datentypen umzugehen, einschließlich int
, char
, double
, Object
, und mehr.
Verwendung
Die Methode Arrays.equals()
wird verwendet, um festzustellen, ob zwei Arrays die gleichen Elemente in der gleichen Reihenfolge enthalten. Sie gibt true
zurück, wenn die Arrays gleich sind, und sonst false
.
Syntax
Arrays.equals(array1, array2);
array1
: Das erste Array, das verglichen wird.array2
: Das zweite Array, das verglichen werden soll.
Beispiele
Beispiel 1: Ganzzahlige Arrays vergleichen
import java.util.Arrays;
public class IntegerArrayEqualsExample {
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {1, 2, 3, 4, 5};
boolean areEqual = Arrays.equals(array1, array2);
System.out.println("Are integer arrays equal? " + areEqual);
}
}
In diesem Beispiel werden zwei Integer-Arrays array1
und array2
mit Arrays.equals()
verglichen. Da beide Arrays identische Elemente in der gleichen Reihenfolge haben, gibt die Methode true
zurück.
Beispiel 2: Vergleich von Zeichenarrays
import java.util.Arrays;
public class CharArrayEqualsExample {
public static void main(String[] args) {
char[] array1 = {'a', 'b', 'c'};
char[] array2 = {'a', 'b', 'd'};
boolean areEqual = Arrays.equals(array1, array2);
System.out.println("Are character arrays equal? " + areEqual);
}
}
Hier werden zwei Zeichen-Arrays verglichen. Die Methode Arrays.equals()
gibt false
zurück, weil sich die dritten Elemente von array1
und array2
unterscheiden ("c" gegenüber "d").
Beispiel 3: Vergleichen von Objektarrays
import java.util.Arrays;
public class ObjectArrayEqualsExample {
public static void main(String[] args) {
String[] array1 = {"Java", "Python", "C++"};
String[] array2 = {"Java", "Python", "C++"};
boolean areEqual = Arrays.equals(array1, array2);
System.out.println("Are object arrays equal? " + areEqual);
}
}
Dieses Beispiel zeigt, wie du zwei Arrays von String
Objekten vergleichen kannst. Die Methode Arrays.equals()
gibt true
zurück, da alle Elemente in beiden Arrays übereinstimmen.
Tipps und bewährte Praktiken
- Verwendung für primitive Typen:
Arrays.equals()
ist effizient für den Vergleich von Arrays primitiver Typen, da es einen einfachen Element-für-Element-Vergleich verwendet. - Tiefer Vergleich für verschachtelte Arrays: Für Arrays, die andere Arrays enthalten (z. B.
int[][]
), kannst du mitArrays.deepEquals()
einen tiefen Vergleich durchführen.int[][] array1 = {{1, 2}, {3, 4}}; int[][] array2 = {{1, 2}, {3, 4}}; boolean areDeepEqual = Arrays.deepEquals(array1, array2);
- Null-Behandlung: Wenn eines der beiden verglichenen Arrays
null
ist, gibtArrays.equals()
false
zurück, es sei denn, beide sindnull
, in diesem Fall gibt estrue
zurück. - Vermeide manuelle Schleifen: Anstatt manuelle Schleifen zu schreiben, um Arrays zu vergleichen, verwende
Arrays.equals()
für einen sauberen und lesbaren Code.