arrayList——list和arrayList区别

转载 2016年08月31日 11:47:15

转自http://www.cnblogs.com/sipher/articles/2429812.html

list和arrayList区别

List是一个接口,而ListArray是一个类。

ListArray继承并实现了List。
所以List不能被构造,而ListArray就可以被构造。
List list;     //正确   list=null;

List list=new List();    //是错误的用法

List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。
而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。

为什么要用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢?
问题就在于List有多个实现类,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类,如 LinkedList或者Vector等等,这时你只要改变这一行就行了:
List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。
假设你开始用 ArrayList alist = new ArrayList(), 这下你有的改了,特别是如果你使用了 ArrayList特有的方法和属性。

另外的例子就是,在类的方法中,如下声明:
private void doMyAction(List list){}
这样这个方法能处理所有实现了List接口的类,一定程度上实现了泛型函数.

如果开发的时候觉得ArrayList,HashMap的性能不能满足你的需要,可以通过实现List,Map(或者Collection)来定制你的自定义类.


举报

相关文章推荐

java集合——数组、List和ArrayList、LinkedList的区别

数组: 优点:数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很 简单。 缺点:在数组的两个数据间插入数据...

Array--List--ArrayList 三者的区别(一)——引言篇

了解本章知识前需要掌握基础概念: 数据在计算机中的存储和组织的问题:其实就是——数据结构 这是一个很基础的问题,本质是现实生活中的事物如何装入计算机中并且表示出来的问题。其实就是我们通常说的编码。...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Hashtable HashMap Vector ArrayList List 区别

Hashtable和HashMap的区别:1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;2.Hashtable中的方法是同步的,而HashMap中的方法在...
  • lclai
  • lclai
  • 2011-02-19 16:50
  • 769

java 容器类使用 Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别

java 容器类使用 Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别 经常会看到程序中使用了记录集,常用的...

java List集合记录 ArrayList和LinkedList的区别

1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于元素的查找,ArrayList觉得优于LinkedList,因为LinkedList要移动指针...

Java容器类List、ArrayList、Vector及map、HashTable、HashMap的区别与用法

有一部分是从 http://selives.blogbus.com/logs/27714366.html上面看到的,具体是哪些,时间长了,我也不记得了。 ArrayList 和Vecto...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)