Java での整数配列の比較
Java で配列を比較する場合、それらの等価性を確認することが不可欠です。 2 つの整数配列を比較すると、特に一方の配列に事前定義された値が含まれ、もう一方の配列が入力ファイルから取得されている場合に特有の課題が生じます。
問題の理解
提供されるコード2 つの配列、array1 と array2 を比較しようとします。 Array1 は固定サイズですが、array2 は入力ファイルから読み取られた最初の数値に基づいて動的にサイズが変更されます。目的は、両方の配列の長さと内容が等しいかどうかを判断することであるようです。
問題への対処
ただし、コード ロジックは等しいかどうかを正確に判断するには不十分です。 array2 の各要素が array1 の要素と一致するかどうかを確認し、単一の一致または不一致に基づいてそれぞれ「true」または「false」を出力します。このアプローチは、配列全体を比較するには不十分です。
最適な解決策
包括的な比較の場合、よりシンプルで効率的な解決策は、組み込みのJava の Arrays.equals() メソッド:
<code class="java">boolean areEqual = Arrays.equals(array1, array2);</code>
このメソッドは、2 つの配列が同じ長さであるかどうか、および対応するすべての要素が等しいかどうかを判断します。
並べ替えに関する注意
Arrays.equals() メソッドを使用して配列が等しいとみなされるには、並べ替えも必要であることに注意することが重要です。このメソッドの JavaDoc には、「両方の配列に同じ数の要素が含まれており、2 つの配列内の対応する要素のペアがすべて等しい場合、2 つの配列は等しいとみなされます。」
したがって、配列が本質的にソートされていないため、等しいかどうかを比較する前にソートする必要があります。
以上がJava で整数配列を正確に比較する方法: 固定サイズと動的サイズ?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。