ArrayList和LinkedList、Vector底层实现区别

    • ArrayList的方法和实现基本上和Vector一样,底层都是数组,但是Vector的方法都是现成安全的,ArrayList没有考虑现成的问题。
      ArrayList在一些算法上做了优化,效率更高

  • ArrayList 底层实现就是数组,且ArrayList实现了RandomAccess,表示它能快速随机访问存储的元素,通过下标 index 访问,只是我们需要用 get() 方法的形式, 数组支持随机访问, 查询速度快, 增删元素慢;
  • LinkedList 底层实现是链表, LinkedList 没有实现 RandomAccess 接口,链表支持顺序访问, 查询速度慢, 增删元素快
  • LinkedList有自己独有的addFirst(从第一个开始添加)addLast(在最后一个位置添加)removeLast(删除最后一个)removeFirst(删除最后一个),其他与ArrayList差不多

猜你喜欢

转载自www.cnblogs.com/qianxun807300071/p/11988289.html