谢谢,我总是问可低级的问题

解决方案 »

  1.   

    public interface List<E>extends Collection<E>也就是说Collection的使用范围可能比List的大,也就是说=后的具体实现可以选择的范围就越广举例:List all = new ArrayList();
    这个all就只能限定在list的具体实现类范围里,你就不能使用像HashSet这样的实现
    但是Collection all = new ArrayList();中的all就可以使用HashSet来代替ArrayList
    具体一点就是:
    List all = new ArrayList(); // ok
    Collection all = new ArrayList(); // okList all = new HashSet(); // error
    Collection all = new HashSet(); // ok懂否?
      

  2.   

    简单来说就是集合比数组牛逼
    抽象来说就是使collection是arrlist的父类,试用的种类多
    但有时候这并不是好事情
    如果东西放到数组里,然后添加到的属性不合适会保语法错的
    但collection不会,要你运行的时候才会报错
      

  3.   

    List与Set同是Collection接口下的子接口
    1楼讲的很深刻