Изучите HashSet и HashTable из исходного кода JDK
NoSuchKey
рекомендация
отwww.cnblogs.com/tr1ple/p/12701149.html
рекомендация
ранжирование