HashSet은 Set 인터페이스를 구현하고 해시 테이블(실제로는 HashMap)에서 지원되지만 집합의 반복 순서를 보장하지 않으며 null 요소의 사용을 허용합니다. HashSet의 시간 복잡도는 HashMap의 시간 복잡도와 동일합니다. 해시 충돌이 있으면 시간 복잡도는 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 함수에는 추가된 요소가 이미 set에 존재하면 false를 반환한다는 특징이 있기 때문입니다. 코드는 다음과 같이 단순화될 수 있습니다:
if (!charSet.add(ch)) { return ch; }
위 내용은 기본 키가 존재하는지 확인하기 위해 Java에서 HashSet을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!