title: Appropriate collection type for selecting a random element efficiently in Scala
body: <p>For a project I am working on, I need to keep track of up to several thousand objects.  The collection I choose needs to support insertion, selection, and deletion of random elements.  My algorithm performs each of these operations several times, so I would like a collection that can do all these in constant time.</p>
  
  <p>Is there such a collection?  If not, what are some trade-offs with existing collections?  I am using Scala 2.9.1.</p>
  
  <p><strong>EDIT:</strong> By "random", I mean mathematically/probabilistically random, i.e., I would like to select elements randomly from the collection using Random or some other appropriate generator.</p>