>Java >java지도 시간 >Java 배열에서 중복된 정수를 어떻게 올바르게 식별할 수 있습니까?

Java 배열에서 중복된 정수를 어떻게 올바르게 식별할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-07 04:49:10717검색

How Can I Correctly Identify Duplicate Integers in a Java Array?

Java 배열, 중복 찾기

문제:
Java에서는 정수 배열이 제공됩니다. 목표는 배열 내의 중복 요소를 식별하고 보고하는 것입니다. 그러나 중복을 감지하는 현재 접근 방식은 중복이 없는 경우 잘못된 결과를 산출합니다.

원본 코드:

int[] zipcodelist = // ...

boolean duplicates = false;
for(j = 0; j < zipcodeList.length; j++){
    for(k = 0; k < zipcodeList.length; k++){
        if (zipcodeList[k] == zipcodeList[j]){
            duplicates = true;
        }
    }
}

원본 코드의 문제:
배열 내에 중복 항목이 없으면 문제가 발생합니다. 내부 루프가 각 요소와 자체 간의 동등성을 확인하기 때문에 루프 구조는 이 시나리오에서도 중복을 true로 할당합니다. 따라서 중복이 없으면 중복은 true가 됩니다.

중복 감지를 위한 향상된 코드:
이 문제를 해결하려면 코드를 다음과 같이 수정할 수 있습니다.

duplicates = false;
for (j = 0; j < zipcodeList.length; j++){
    for (k = j + 1; k < zipcodeList.length; k++){
        if (k != j && zipcodeList[k] == zipcodeList[j]){
            duplicates = true;
        }
    }
}

설명:
이 수정된 코드에는 내부 루프 내의 추가 조건(k != j). 이 단계를 사용하면 고유한 요소 간에만 비교가 수행되어 각 요소 자체에 대한 중복 확인을 방지할 수 있습니다. 따라서 진짜 중복이 발견된 경우에만 중복이 true로 설정되어 정확한 결과를 얻을 수 있습니다.

위 내용은 Java 배열에서 중복된 정수를 어떻게 올바르게 식별할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.