HashSet implementiert die Set-Schnittstelle und wird von einer Hash-Tabelle (eigentlich einer HashMap) unterstützt, garantiert jedoch nicht die Iterationsreihenfolge des Satzes und ermöglicht die Verwendung von Nullelementen. Die Zeitkomplexität von HashSet ist dieselbe wie die von HashMap. Wenn kein Hash-Konflikt vorliegt, beträgt die Zeitkomplexität O (1). Wenn ein Hash-Konflikt vorliegt, überschreitet die Zeitkomplexität O (n). Daher können Sie beim täglichen Codieren HashSet verwenden, um festzustellen, ob der Primärschlüssel vorhanden ist.
Fall: Bei einer gegebenen Zeichenfolge (nicht unbedingt alle Buchstaben) geben Sie bitte das erste wiederkehrende Zeichen zurück.
/** 查找第一个重复字符 */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; }
Da die Add-Funktion von Set eine Besonderheit aufweist: Wenn das hinzugefügte Element bereits im Set vorhanden ist, gibt es false zurück. Der Code kann vereinfacht werden als:
if (!charSet.add(ch)) { return ch; }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie HashSet in Java, um festzustellen, ob der Primärschlüssel vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!