ArrayList和LinkedList的区别

源码 2024-9-30 23:58:33 73 0 来自 中国

  • ArrayList底层由数组实现,LinkedList底层由链表实现。
  • 通常来说:ArrayList在随机访问元素的服从上高于LinkedList,LinkedList在非尾部插入和删除元素上的服从高于ArrayList。
    对于ArrayList的尾部插入操纵:由于数组是一段一连的内存空间,也不必要复制数组,直接写入即可
    而对于链表的尾部插入操纵:必要创建新的对象,前后引用也要重新分列。
    LinkedList的删除操纵:LinkedList 在删除比力靠前和比力靠后的元素时,非常高效,但假如删除的是中央位置的元素,服从就比力低了。由于必要遍历查找必要删除的元素位置。
    查找元素:for 循环遍历的时间,ArrayList 花费的时间远小于 LinkedList;迭代器遍历的时间,两者性能差不多
  • ArrayList必要手动的设置固定巨细的容量,LinkedList可以或许动态的随数据量的变革而变革。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:45, Processed in 0.185265 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表