Java может использовать объект в качестве ключа

Yes, objects of custom classes can be used as a key in a HashMap
see source for details.
Skynet