Javaはどうやって重复した文字列を検索するのか?

繰り返し文字列を見つけるには、HashMapを使って各文字の出現回数を記録する。

具体的には、以下の手順に従います。

  1. 入力された文字列の出現回数を、文字列をキー、その回数を値とするHashMapオブジェクトとして作成する。
  2. 入力文字の配列やリストを反復処理する。
  3. 指定された文字列が存在する場合、その文字列カウントを1インクリメントします。
  4. キーがなければ、HashMapに文字列をキーとして追加し、その出現回数を1に設定します。
  5. 最後に、HashMapのすべてのキーバリューペアを走査して、出現回数が1より大きい文字列、すなわち重複した文字列を検索します。

サンプルコードは以下をご覧ください:

import java.util.HashMap;
import java.util.Map;

public class FindDuplicateStrings {
    public static void main(String[] args) {
        String[] strings = {"hello", "world", "hello", "java", "world"};

        Map<String, Integer> stringCountMap = new HashMap<>();

        for (String str : strings) {
            if (stringCountMap.containsKey(str)) {
                int count = stringCountMap.get(str);
                stringCountMap.put(str, count + 1);
            } else {
                stringCountMap.put(str, 1);
            }
        }

        for (Map.Entry<String, Integer> entry : stringCountMap.entrySet()) {
            if (entry.getValue() > 1) {
                System.out.println("重复字符串:" + entry.getKey());
            }
        }
    }
}

コードを実行して出力される結果は次のようになります。

重复字符串:hello
重复字符串:world
bannerAds