title: remove() method is too slow
body: <p>i have a problem reading a memory trace. I've read it and saved the pages and their references on a map</p>
  
  <p>Map structure:</p>
  
  <pre><code>    Map&lt;Integer, List&lt;Integer&gt;&gt; map = new HashMap&lt;&gt;();
  </code></pre>
  
  <p>And then i read the file again and remove the references from the Integer List</p>
  
  <pre><code>FileReader arq = new FileReader(new File(Path));
  BufferedReader reader = new BufferedReader(arq, 41943040);
  while ( (std = reader.readLine()) != null ) {
          requestedPage = Integer.parseInt(std, 16);
          //do something
          M.map.get(requestedPage).remove(0));
      }
  </code></pre>
  
  <p>The problem is it takes too long to remove those references and for big traces it takes hours to remove the references. Does anyone have another solution?</p>
  
  <p>Thank you!</p>