Volver una lista de coincidencias con comodines de un HashMap en java

Tengo un Hashmap que puede contener comodines (*) en la Cadena.

Por ejemplo

HashMap<String, Student> students_;

puede tener a John * como una clave. Quiero saber si JohnSmith coincide con algún elemento en estudiantes_. Podría haber varias coincidencias para mi cadena (John *, Jo * Smith, etc.). ¿Hay alguna forma de obtener una lista de estas coincidencias de mi HashMap?

¿Hay otro objeto que podría estar usando que no requiera que recorra cada elemento de mi colección, o tengo que absorberlo y usar un objeto Lista?

Para su información, mi colección tendrá menos de 200 elementos y, en última instancia, querré encontrar el par que coincida con la menor cantidad de comodines.

Respuestas a la pregunta(3)

Su respuesta a la pregunta