Java List与ArrayList的区别

来源:互联网 发布:linux修改文件权限 编辑:程序博客网 时间:2024/05/22 16:51

List是一个接口,而ArrayList是一个类.ArrayList继承并实现了List.
List不能被构造,但可以为List创建一个引用,而ArrayList则可以被构造.
List list; // 正确
List list = new List(); // 错误
List list = new ArrayList(); // 创建一个ArrayList的对象后把它上溯到了List.此时它是一个List对象,某些ArrayList有但是List没有的属性和方法,它就不能再用了.
ArrayList arraylist = new ArrayList(); // 创建一个对象则保留了ArrayList的所有属性.

注: 为什么要用 List list = new ArrayList();而不用 ArrayList arraylist = new ArrayList();呢?
1.List有多个实现类,ArrayList,LinkedList,Vector.
2.List list = new ArrayList(); 改为 List list = new LinkedList(); 其它使用了List代码的地方根本不需要改动.
如果 ArrayList arraylist = new ArrayList(); 改为 LinkedList linkedlist = new LinkedList(); 特别是你使用了ArrayList特有的方法和属性,其它使用了ArrayList代码的地方就需要改动.

原创粉丝点击