HashSet は Set インターフェイスを実装し、ハッシュ テーブル (実際には HashMap) によってサポートされますが、セットの反復順序は保証されず、使用は許可されません。 null 要素の。 HashSet の計算量は HashMap と同じで、ハッシュの競合がなければ O(1)、ハッシュの競合がある場合でも O(n) を超えません。したがって、日常的なコーディングでは、HashSet を使用して主キーが存在するかどうかを判断できます。
ケース: 指定された文字列 (すべての文字である必要はありません) を指定して、最初に繰り返される文字を返してください。
/** 查找第一个重复字符 */public static Character findFirstRepeatedChar(String string) { // 检查空字符串 if (Objects.isNull(string) || string.isEmpty()) { return null; } // 查找重复字符 char[] charArray = string.toCharArray(); Set charSet = new HashSet<>(charArray.length); for (char ch : charArray) { if (charSet.contains(ch)) { return ch; } charSet.add(ch); } // 默认返回为空 return null; }
このうち、Set の add 関数は、追加した要素がすでにセット内に存在する場合は false を返すという特性があるためです。コードは次のように簡略化できます:
if (!charSet.add(ch)) { return ch; }
以上がJavaでHashSetを使用して主キーが存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。