title: Have I found a bug in java.util.ArrayList.containsAll?
body: <p>In Java I've two lists:</p>
  
  <pre><code>List&lt;Satellite&gt; sats = new ArrayList&lt;Satellite&gt;();
  List&lt;Satellite&gt; sats2 = new ArrayList&lt;Satellite&gt;();
  
  Satellite sat1 = new Satellite();
  Satellite sat2 = new Satellite();
  
  sats.add(sat1);
  
  sats2.add(sat1);
  sats2.add(sat2);
  </code></pre>
  
  <p>When I do the following containsAll method on the first list:</p>
  
  <pre><code>sats.containsAll(sats2); //Returns TRUE!
  </code></pre>
  
  <p>It returns true. But the first List (sats) only contains 1 item and the second list contains 2. Therefor it's not even possible that the first list (sats) containsAll items from the second list (sats2). Any idea why or is this a bug in the Java JDK?</p>
  
  <p>I've read in another StackOverflow question that this is not the most performant way to do something like this, so if anyone has a suggestion on how to make it more performant that would be great!</p>
  
  <p>Thanks in advance!</p>