title: Creating many objects and recycling them
body: <p><strong>I want to create a class that will allow me to have many objects and store them in a data structure.</strong> These objects will come out of the list do something then put back into the list. This cycle will repeat many times during the execution of the program for different objects always in this list.</p>
  
  <p>I am highly interested in two aspects:</p>
  
  <ol>
  <li>Creating/Building the many objects efficiently</li>
  <li>Using them constantly </li>
  </ol>
  
  <p>At the moment objects are created like this:</p>
  
  <pre><code>for(int i = 0; i &lt; NUMBER; i++)
     new WhitePlate(0,2,5);
  </code></pre>
  
  <p><strong>Is there a design pattern that will make this easy?</strong> I am thinking, from what I read, that factory design pattern or builder would do the trick, which should I use.</p>
  
  <p><strong>What design pattern do you recommend for me to use when I have to create many objects and keep them in a data structure?</strong></p>
  
  <p><em>The data structure I will use is trivial and does not matter to much, but I will use a Hash.</em></p>