title: Why does LinkedHashSet<E> extend HashSet<e> and implement Set<E>
body: <p>Opened a LinkedHashSet source code today and found some interesting thing:</p>
  
  <pre><code>public class LinkedHashSet&lt;E&gt;
      extends HashSet&lt;E&gt;
      implements Set&lt;E&gt;, Cloneable, java.io.Serializable {
  </code></pre>
  
  <p>The question is: why do they need both "extends HashSet" and "implements Set" when HashSet already is the Set?</p>