Java에서 정수 배열 비교
Java에서 배열을 비교할 때는 동등한지 확인하는 것이 중요합니다. 두 개의 정수 배열을 비교하는 것은 특정한 문제를 야기합니다. 특히 한 배열에 미리 정의된 값이 포함되어 있고 다른 배열은 입력 파일에서 가져온 경우 더욱 그렇습니다.
문제 이해
제공된 코드 두 배열 array1과 array2를 비교하려고 시도합니다. Array1은 고정된 크기인 반면, array2는 입력 파일에서 읽은 첫 번째 숫자를 기준으로 동적으로 크기가 지정됩니다. 두 배열의 길이와 내용이 동일한지 확인하려는 의도인 것 같습니다.
문제 해결
그러나 코드 논리는 동등성을 정확하게 결정하는 데 부족합니다. array2의 각 요소가 array1의 요소와 일치하는지 확인하고 각각 단일 일치 또는 불일치에 따라 "true" 또는 "false"를 인쇄합니다. 이 접근 방식은 어레이 전체를 비교하기에는 부족합니다.
최적 솔루션
포괄적인 비교를 위해 내장된 Java의 Arrays.equals() 메소드:
<code class="java">boolean areEqual = Arrays.equals(array1, array2);</code>
이 메소드는 두 배열의 길이가 동일한지, 해당 요소가 모두 동일한지 확인합니다.
정렬에 대한 참고 사항
Arrays.equals() 메서드를 사용하여 배열이 동일한 것으로 간주되려면 정렬도 해야 한다는 점에 유의하는 것이 중요합니다. 해당 메소드에 대한 JavaDoc에는 "두 배열에 동일한 수의 요소가 포함되어 있고 두 배열의 해당 요소 쌍이 모두 동일한 경우 두 배열은 동일한 것으로 간주됩니다."
따라서 배열이 다음과 같은 경우 본질적으로 정렬되어 있지 않으므로 동일한지 비교하기 전에 정렬해야 합니다.
위 내용은 Java에서 정수 배열을 정확하게 비교하는 방법: 고정 크기와 동적 크기?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!