Tengo un Hashmap que puede contener comodines (*) en la Cadena.Devolver una lista de coincidencias comodín de un HashMap en Java
Por ejemplo,
HashMap<String, Student> students_;
puede tener a John * como una llave. Quiero saber si JohnSmith coincide con cualquier elemento en students_. Podría haber varias coincidencias para mi cadena (John *, Jo * Smith, etc.). ¿Hay alguna manera de que pueda obtener una lista de estas coincidencias de mi HashMap?
¿Hay algún otro objeto que podría estar usando que no requiera que itere a través de cada elemento de mi colección, o tengo que absorberlo y usar un objeto List?
FYI, mi colección tendrá menos de 200 elementos y, en última instancia, querré encontrar el par que coincida con la menor cantidad de comodines.
funciones de hashing en general se construyen de manera que los cambios de menor importancia (por ejemplo: '' John SmitH' a John Smith') produce hashes totalmente diferentes. – NullUserException
¿Por qué no quieres iterar? No es tan malo (especialmente con menos de 200 elementos) y, en última instancia, cualquier otra solución implicará algo similar en términos de rendimiento. – Guillaume
Con menos de 200 elementos, simplemente realice la búsqueda lineal sobre 'entrySet()' y evalúe su comodín con cada tecla.Si hubiera sido mucho más, sugerí una base de datos (incrustada) y una consulta 'LIKE'. –