So che la struttura dati HashSet<String>
può memorizzare stringhe univoche e dire se la stringa è presente con complessità O (1), perché usa il codice hash. Si può raggiungere la stessa complessità, se voglio ignorare il caso di lettere? Il prossimo caso d'uso dovrebbe funzionare:Struttura dati che memorizza le stringhe e ignora la maiuscola
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"
È possibile implementare tale struttura dati?
@ Dave chiave ultima riga di codice - stampa di New York, come è stato inserito, non riesco a normalizzare la stringa minuscolo all'inserimento –
Cosa succede se hai creato una nuova classe che ha esteso 'String', sovrascrivendo i metodi' .equals() 'e' .hashCode() '? –
@jameslarge La classe stringa è definitiva, non può essere estesa. – dave