Bootstrap

Java数据类型 Arrays VS ArraysList VS LikedList 解析

在学习Java过程中,在刷题时总是搞不清楚这三种数据结构的区别,打算写篇文章记录一下

Arrays VS ArrayList

ArrayList VS LinkedList

总结 

Arrays VS ArrayList

ArraysArrayList
类型Java的基本数据类型Java集合框架中的一个类,实现了List接口
存储内容基本数据类型+对象引用对象引用
可变性数组长度创建后不可变长度可变
适用场景查询元素会比较快,直接通过索引访问添加或者删除元素,尤其是在末尾操作
提供方法操作有限, 排序,访问,修改方法更多,添加,删除,迭代等

 

 

 

 

 

 

 

 

ArrayList VS LinkedList

ArrayListLinkedList
实现方式基于动态数组实现基于双向链表实现
性能通过索引直接访问,随机访问更快基于链表实现,插入和删除会更快
扩容元素达到容量时需要扩容不需要扩容,通过增加节点增加新元素
使用场景频繁进行随机访问频繁进行插入和删除

 

 

 

 

 

 

 

 

总结 

  • Arrays 基本数据类型 数组大小不可变 提供方法有限
  • ArrayList 基于数组实现 增删慢 查询快 线程不安全
  • Vector 基于数组实现 增删慢 查询快 线程安全 频繁加锁 释放锁 读写效率低
  • LinkedList 基于双链表实现 增删快 查询慢 线程不安全
;