问题一:既然已经继承了AbstractSet,而AbstractSet实现了set接口,为什么HashSet还要实现set?
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializablepublic abstract class AbstractSet<E> extends AbstractCollection<E> implements Set<E>
public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable解答一:
继承自AbstractSet的好处是大部分Set的方法不用写,只需要写AbstractSet没有实现的方法即可。
解答二:只是当初JDK的作者犯的一个错,他当时以为这样会有用。
http://www.cnblogs.com/gaojing/archive/2013/01/04/2844946.html