Java Array-Fehlanpassung()
Die Methode Arrays.mismatch()
in Java ist Teil des Pakets java.util
und wird verwendet, um den ersten Index zu finden, bei dem sich zwei Arrays unterscheiden. Diese Methode ist nützlich, um Arrays zu vergleichen und festzustellen, wo sie anfangen, unterschiedliche Elemente zu haben. Sie gibt den Index der ersten Abweichung zurück oder -1, wenn die Arrays identisch sind.
Verwendung
Arrays.mismatch()
wird normalerweise verwendet, wenn du zwei Arrays Element für Element vergleichen musst, um den ersten Unterschied zu identifizieren. Sie unterstützt Arrays aller primitiven Typen sowie Objekt-Arrays.
Syntax
int mismatchIndex = Arrays.mismatch(array1, array2);
array1
undarray2
: Die zu vergleichenden Arrays.mismatchIndex
: Der Index der ersten Unstimmigkeit oder -1, wenn keine Unstimmigkeit gefunden wird.
Beispiele
Beispiel 1: Identische Arrays
import java.util.Arrays;
public class MismatchExample1 {
public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {1, 2, 3, 4, 5};
int mismatchIndex = Arrays.mismatch(array1, array2);
System.out.println("Mismatch index: " + mismatchIndex);
}
}
In diesem Beispiel sind array1
und array2
identisch. Die Methode Arrays.mismatch()
gibt -1 zurück, was bedeutet, dass es keine Unstimmigkeiten gibt.
Beispiel 2: Verschiedene Arrays
import java.util.Arrays;
public class MismatchExample2 {
public static void main(String[] args) {
String[] array1 = {"apple", "banana", "cherry"};
String[] array2 = {"apple", "berry", "cherry"};
int mismatchIndex = Arrays.mismatch(array1, array2);
System.out.println("Mismatch index: " + mismatchIndex);
}
}
Hier unterscheiden sich die Arrays bei Index 1, wo "Banane" in array1
anders ist als "Beere" in array2
. Die Methode Arrays.mismatch()
gibt 1 zurück.
Beispiel 3: Arrays mit unterschiedlichen Längen
import java.util.Arrays;
public class MismatchExample3 {
public static void main(String[] args) {
char[] array1 = {'a', 'b', 'c'};
char[] array2 = {'a', 'b'};
int mismatchIndex = Arrays.mismatch(array1, array2);
System.out.println("Mismatch index: " + mismatchIndex);
}
}
In diesem Fall ist array1
länger als array2
. Die Methode gibt 2 zurück. Das ist der Index, an dem array2
endet und array1
ein zusätzliches Element hat.
Tipps und bewährte Praktiken
- Null Sicherheit: Vergewissere dich, dass keines der Arrays null ist, bevor du
Arrays.mismatch()
aufrufst, da sonst einNullPointerException
ausgelöst wird. - Array-Längen: Betrachte die Länge der beiden Arrays. Wenn Arrays unterschiedliche Längen haben und bis zur Länge des kürzeren Arrays keine Unstimmigkeiten gefunden werden, gibt die Methode die Länge des kürzeren Arrays zurück.
- Leistung:
Arrays.mismatch()
kann effizienter sein als die manuelle Iteration durch Arrays, besonders bei großen Arrays. - Typ Kompatibilität: Stelle sicher, dass die zu vergleichenden Arrays vom gleichen Typ sind, da die Methode keine Typumwandlung durchführt.
Mit Arrays.mismatch()
können Entwickler den ersten Differenzpunkt zwischen zwei Arrays bestimmen, was bei der Fehlersuche und beim Datenvergleich hilfreich ist.