ホームページ > Java > &#&チュートリアル > Java 配列内の重複を効率的に検出し、誤検知を回避するにはどうすればよいですか?

Java 配列内の重複を効率的に検出し、誤検知を回避するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-06 16:09:21
オリジナル
206 人が閲覧しました

How Can I Efficiently Detect Duplicates in a Java Array and Avoid False Positives?

Java 配列: 重複の特定

配列内で重複を検索する場合、不正確な結果につながる可能性のある落とし穴を避けることが不可欠です。提供されたコード スニペットでは、問題はネストされたループ構造内にあります。

for(j = 0; j < zipcodeList.length; j++){
    for(k = 0; k < zipcodeList.length; k++){
        if (zipcodeList[k] == zipcodeList[j]){
            duplicates = true;
        }
    }
}
ログイン後にコピー

このアプローチでは、重複がない場合でも重複を誤って true に設定します。問題は、j が k に等しい場合に発生します。これにより、一意の要素であっても条件 zipcodeList[k] == zipcodeList[j]` がトリガーされます。

答えは...

このエラーを修正するには、図に示すように、内側のループを k = j 1 で開始することでループ構造を改善できます。以下:

duplicates=false;
for(j = 0; j < zipcodeList.length; j++){
    for(k = j + 1; k < zipcodeList.length; k++){
        if (k != j &amp;&amp; zipcodeList[k] == zipcodeList[j]){
            duplicates = true;
        }
    }
}
ログイン後にコピー

この変更により、各要素を他の一意の要素とのみ比較するようになり、誤検知を効果的に防止できます。

以上がJava 配列内の重複を効率的に検出し、誤検知を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート