Ich weiß, dass HashSet<String>
Datenstruktur eindeutige Zeichenfolgen speichern kann und sagen, wenn String mit O (1) Komplexität vorhanden ist, da es Hash-Code verwendet. Kann die gleiche Komplexität erreicht werden, wenn ich den Brieffall ignorieren möchte? Nächster Anwendungsfall sollte funktionieren:Datenstruktur, die Strings speichert und ignoriert Groß- und Kleinschreibung
Set<String> set = new IgnoreLetterCaseSet();
set.add("New York");
set.contains("new york") == true;
set.contains("NEW YORK") == true;
set.each(it -> print it) ---> prints "New York"
Ist es möglich, eine solche Datenstruktur zu implementieren?
@ Dave letzte Zeile Code - druckt New York, als sie eingeführt wurde, kann ich die Zeichenfolge nicht normalisieren Kleinbuchstaben bei Einfügen –
Was passiert, wenn Sie eine neue Klasse erstellen, die 'String' erweitert und die Methoden' .equals() 'und' .hashCode() 'überschreibt? –
@jameslarge String-Klasse ist endgültig, kann nicht erweitert werden. – dave