List性能
Posted woshi123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List性能相关的知识,希望对你有一定的参考价值。
List性能
Java提供的List就是一个线性表接口,而ArrayList LinkedList是两个List接口的典型实现:基于数组和基于链表的线性表。
Queue代表了队列,Deque代表了双端队列(也可以当作栈使用)。
一般来说,由于数组以一块连续内存区来保存所有的元素,所以随机访问的性能比较好,所有内部以数组作为底层实现的集合在随即访问时性能都比较好;而内部以链表作为底层实现的集合在执行插入、删除操作时有较好的性能。
但总体来讲,ArrayList的性能比LinkedList的性能较好,因此大部分时间搜应该考虑ArrayList。
关于使用List有如下建议:
- 如果需要遍历List集合元素,对于ArrayList、Vector集合,应该使用随机访问方法(get)来遍历集合元素,这样性能更好;对于LinkedList集合,则应该采用Iterator迭代器来遍历集合元素。
- 如果需要经常执行插入、删除操作来改变包含大量数据的List集合大小,可考虑使用LinkedList集合。使用ArrayList、Vector集合可能需要经常重新分配内部数组大小,效果可能较差。
- 如果有多个线程需要同时访问List集合中的元素,开发着可考虑使用Collections将集合包装成线程安全的集合。
以上是关于List性能的主要内容,如果未能解决你的问题,请参考以下文章