title: java: maps zoo, what to choose
body: <p>I'm pretty new to the Java World (since I'm writing primary in C/C++). I'm using maps in my apps.
  Since <code>java.util.Map</code> is abstract I need to instantiate it's implementation. Usually I use <code>HashMap</code> like:</p>
  
  <pre><code>Map&lt;String, MyClass&gt; x = new HashMap&lt;&gt;();
  </code></pre>
  
  <p>But in java docs I found many other implementations, like <code>TreeMap</code>, <code>LinkedHashMap</code>, <code>HashTable</code>, etc. I want to know if I can continue blindly using of the <code>HashMap</code> or there are any <strong>important</strong> differences between those <code>Map</code> implementations.</p>
  
  <p>The brief list of points-to-know will be ok.
  Thanks.</p>