title: Creating my own Lists and Maps data structures
body: <p>For practice I want to make my own lists and maps (like ArrayList, HashMap, HashSet etc.).</p>
  
  <p>My goal is to have it as small and flexible as possible while still maintaining good performance. (long road...) </p>
  
  <p>I have some questions:</p>
  
  <p>1)</p>
  
  <p>Unlike the sun, I don't have to take backwards compatibility into account.
  So the first thing I wonder, is there any good reason to keep <code>add</code> and <code>put</code>?
  Why not just one?
  If I would name <code>put</code> > <code>add</code> would this give problems / complexity / unclearness down the road?</p>
  
  <p>2)</p>
  
  <p>Are there any languages known to have really good data structures? (For example, they could be really smart to avoid a concurrency exception).</p>
  
  <p>3)</p>
  
  <p>As last more a request then a question, if you have any tips our vision of how things could be done different then please post them.</p>