One thing which I'm wondering about and can't seem to find on the Java API docs is whether it is possible to get HashMap to use separate chaining instead of over-writing previous values. By "separate chaining," I am talking about a technique I learned in a C++ class in which each key could hold more than one value (because it's possible that more than one entry could hash to the same value. HashMap doesn't seem designed for collisions, no?