日期:2014-05-20  浏览次数:20610 次

java 概念题
array,vector,ArrayList,List,LinkedList有什么区别?

------解决方案--------------------
array:数组,查询快,一般不会在中间插入数据,长度不可变

vector:链表,底层用数组实现,且线程安全,效率低,已被淘汰

arraylist:链表,底层用数组实现。所以适用于经常查询,不适用经常插入

linkedlist:链表,底层用双向链表实现,适用于经常插入,不适用于经常查询

list:上面二者的接口,不可实例化
------解决方案--------------------
探讨
array:数组,查询快,一般不会在中间插入数据,长度不可变

vector:链表,底层用数组实现,且线程安全,效率低,已被淘汰

arraylist:链表,底层用数组实现。所以适用于经常查询,不适用经常插入

linkedlist:链表,底层用双向链表实现,适用于经常插入,不适用于经常查询

list:上面二者的接口,不可实例化

------解决方案--------------------
array 是sql里面的接口
Arrays:提供的是操作数组的各种方法。
ArrayList:底层采用数组完成,我们可以将其看作是能够自动增长容量的数组。适用与不在前后中进行插入和删除操作
vector:链表,底层用数组实现,且线程不安全
LinkedList:是采用双向循环链表实现的。如果我们经常在List的开始处增加元素,或者在List中进行插入和删除操作,我
们应该使用LinkedList,效率较高。
list:上面二者的接口,不可实例化
------解决方案--------------------
ArrayList 不是链表。是动态数组。