title: which data structure for a list of object with fast lookup feature
body: <p>I have a data structure and have to perform lookup on it, I would like to optimize things...</p>
  
  <pre><code>struct Data
  {
   std::string id_;
   double data_;
  };
  </code></pre>
  
  <p>I use currently a <code>std::vector&lt;Data&gt;</code> and <code>std::find</code> algorithm  but I'm wondering if another data structure would be more convenient :</p>
  
  <ul>
  <li>hash table ?</li>
  <li>map ?</li>
  <li>boost multi index container ?</li>
  <li>other things ?</li>
  </ul>
  
  <p>EDIT:</p>
  
  <p>Each time I receive a message from network I have to lookup into this vector (with id as key), and update/retrieve some informations. (Data structure have more fields than in my example)</p>
  
  <p>EDIT2:</p>
  
  <ul>
  <li>I don't care about order.</li>
  <li>I have to insert/erase element into this data structure frequently.</li>
  </ul>