码迷,mamicode.com
首页 > 其他好文 > 详细

List性能

时间:2020-03-16 14:34:56      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:collect   array   一个   分时   link   因此   比较   线程安全   删除   

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性能

标签:collect   array   一个   分时   link   因此   比较   线程安全   删除   

原文地址:https://www.cnblogs.com/woshi123/p/12503576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!