Beh, tramite get ottieni l' hash table più interna in questa maniera no ? Poi effettui la ricerca in questa interna. Una roba tipo:
String hashGetString(HashTable input, String chiave, int chiave 2){
HashTable h = input.get(chiave);
return h.get(chiave2);
} ( Volendo si poteva fare solo su una riga sola, ma gia questa è orribile, non esageriamo

)
Non è il modo più carino, ma gia che ci siamo...
Domanda però: perchè tutto ciò ? Va bene che con le hash table hai un tempo di ricerca costante nel 99% dei casi ma è anche uno spreco assurdo di memoria fonderne diverse

Visto che devi cercare delle stringhe usando interi non conviene implementare una map ( la quale sfrutterà il buon ordinamento degli interi per permettere una ricerca logaritmica ) oppure, se hai a disposizione subito l' intero elenco e devi fare numerose ricerce, una cara ricerca binaria ?