Открыл исходный код LinkedHashSet сегодня и нашел интересную вещь:
public class LinkedHashSet<E>
extends HashSet<E>
implements Set<E>, Cloneable, java.io.Serializable {
Вопрос в том, зачем они нужны и "extends HashSet", и "реализует Set", когда HashSet уже является Set?