Vergleich von Integer-Arrays in Java: Beyond Equality
Frage:
Wie kann ich effizient zwei ganzzahlige Arrays in Java vergleichen und sicherstellen, dass sie die gleichen Elemente, Reihenfolge und Länge haben?
Codebeispiel:
<code class="java">public static void compareArrays(int[] array1, int[] array2) { if (array1 == null || array2 == null) { throw new IllegalArgumentException("Arrays cannot be null."); } if (array1.length != array2.length) { System.out.println("Arrays have different lengths."); } else { for (int i = 0; i < array1.length; i++) { if (array1[i] != array2[i]) { System.out.println("Arrays have different elements at index " + i); return; } } System.out.println("Arrays are equal."); } }</code>
Erklärung:
Die Methode „compareArrays“ sucht zunächst nach Null-Arrays und vergleicht dann deren Länge. Wenn die Längen gleich sind, wird mit einem Element-für-Element-Vergleich fortgefahren. Wenn sich Elemente unterscheiden, gibt die Methode den Index des abweichenden Elements aus und verlässt die Schleife. Andernfalls wird ausgegeben, dass die Arrays gleich sind.
Hinweis:
Dieser Ansatz vergleicht die Arrays auf Gleichheit. Wenn das Ziel lediglich darin besteht, festzustellen, ob die Arrays unabhängig von ihrer Reihenfolge denselben Satz von Elementen enthalten, könnte man die von der Arrays-Klasse bereitgestellte Methode equal verwenden. Diese Methode erfordert jedoch, dass die Arrays sortiert werden, bevor sie zur Prüfung auf Gleichheit verwendet werden kann.
Durch den Vergleich der Arrays auf die im Beispielcode gezeigte Weise stellen wir sicher, dass sie die gleichen Elemente, Reihenfolge, und Länge.
Das obige ist der detaillierte Inhalt vonWie vergleiche ich Integer-Arrays in Java: Jenseits der einfachen Gleichheit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!