title: Creating a custom iterator for a HashMap
body: <p>I am trying to implement an iterator that will iterate through the HashMap and its duplicates. For example <pre><code>string.put("a", 1);
  string.put("a", 2);
  string.put("b", 3);
  string.put("b", 4);
  </code></pre></p>
  
  <p>However with my iterator I only iterate twice, once for where the value is "a" and the other for "b". I'd like to make an iterator that will iterate 4 times throughout the whole Map.</p>
  
  <p>EDIT: I kind of left out a lot of detail because I just wanted to see if this iterator was possible, but the code I'm writing is actually an abstraction of a map. For example, I have an add function which takes in parameter T. So for adding a string it would look like add("Hello"). By adding this string, it's key is "String" and its value is 1. If I call add("Hello") again it will bump up the value to 2. If I add it again, it will bump up its value to 3 and so on. I want to create an iterator that will iterate through all the stuff I have added.</p>