黑马程序员技术交流社区
标题:
说出ArrayList,Vector, LinkedList的存储性能和特性
[打印本页]
作者:
qucc
时间:
2014-5-23 14:05
标题:
说出ArrayList,Vector, LinkedList的存储性能和特性
说出ArrayList,Vector, LinkedList的存储性能和特性
作者:
lhj
时间:
2014-5-23 14:19
ArrayList类、Vector类、LinkedList类 都是可伸缩的数组,就是可以动态改变长度的数组。 ArrayList类是jdk1.1后出现的,在内存中是队列形式存储,适合查找。他不是线程安全的。 Vector类是较老的数组列表,他是线程安全的。 LinkedList类是链表结构的数组,它适合增删改的操作,但与ArrayList相比,查询效率较低。 实际应用中:ArrayList是最常用的。 HashMap类,与之对应的有一个HashTable类,这两个类的区别: HashMap是新的类,他不是线程安全的。 HashTable是旧的类,他是线程安全的。 他们的共同点是:存储一个键值对形式的数据。并根据键来增删改查。键不能重复! 以上是我自己总结的。希望能帮到你的忙
作者:
875588381
时间:
2014-5-23 14:20
ArrayList底层使用的是数组存储的,存储有序,如果底层默认数组空间使用完毕,会创建一个新的数组,长度为原数组的1.5倍。由于采用数组存储,查找速度快,但是不利于频繁的增删操作。
Vector和ArrayList类似,新数组会增加一倍的长度。并且读取不是很爽,方法名称太长了。所以很少使用了。
LinkedList底层采用链表存储元素,所以对于频繁的增删操作效率很高。
其实主要还是看具体的应用,如果数据需要经常遍历,很少增删的话,就使用ArrayList,否则就使用LinkedList。
希望对你有所帮助。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2