make mapHash return something other than 0

as written

 int intKey = (key >> 32 ^ key);

creates 0, as shifting by 32 is the same as shifting by 0, then exclusive oring with self is 0. always 0.

Make the hash distributed, by adding parens

int intKey = (key >> (32 ^ key));