[java之list比较]
来源:互联网 发布:犀牛软件界面 编辑:程序博客网 时间:2024/06/04 00:22
前言:
最近在工作中常常用到list,这篇博客来总结一下list.以便日后方便查找.
核心:
类型/内容
ArrayList
LinkList
Vactor
数据结构
数组结构
链表结构
数组
查询速度
快
慢
快
增删效率
慢
快
慢
线程安全
不安全
不安全
线程安全(synchronized)
时间复杂度
随机访问时间固定
增加元素开销固定
随机访问
空间复杂度
list列表结尾预留一定容量空间
每个元素消耗空间
容量空间
扩容
新容量=(旧容量*3)/2+1即1.5倍+1
2倍
ArrayList:底层数据结构是数组结构,你就可以把它看成是一个可变大小的且只能装对象的数组。因为数组有索引(角标)所以ArrayList的查询速度快,而添加删除元素速度稍慢。因为,你每删除或者添加一个元素,你都要移动所添加或删除元素后面的所有数据,该集合是线程不同步的
LinkedList:底层数据结构是链表结构的。链表数据结构是没有索引的,当前元素只和他的前一个和后一个元素有关联就像一串珠子一样,该数据结构的特点是,增加删除快,而查询比较慢,因为增加删除只需要找到当前元素,然后断掉当前元素与它前一个和后一个元素的关联即可,和数组比,链表不用重复大部分的数据移动工作,但是因为没有索引所以链表数据结构要一个一个的查询数据,所以LinkedList的查询速度稍慢
Vector:底层数据结构也是数组结构的,除了线程安全问题上不同于ArrayList之外,其余几乎一样。
数组结构的查询速度比较快,因为可以通过索引快速锁定元素位置。链表结构的插入速度较快。
总结:
不断总结,加油!
阅读全文
0 0
- [java之list比较]
- Java集合类之List性能比较
- Java List 效率比较
- Java List集合比较
- java容器之List+Comparable与Comparator比较
- Java Collections Framework - Java集合框架之List篇 ArrayList与LinkedList等的性能比较
- Java Collections Framework - Java集合框架之List篇 ArrayList与LinkedList等的性能比较
- Java Collections Framework - Java集合框架之List篇 ArrayList与LinkedList等的性能比较
- Java容器类List和Set比较
- Java中List效率的比较
- java 两list比较相同值
- java list 比较相同的元素
- Java中List效率的比较
- 比较两个List的算法 java实现
- Java中List效率的比较
- Java List比较Class的实装例
- java基础知识map,list,char比较举例
- java 常见List实现类的比较
- 【考研】第九周总结
- JS BOM
- Linux学习总结
- bzoj1226 [SDOI2009]学校食堂Dining 状压DP
- kafka Consumer详解
- [java之list比较]
- 【BigHereo 47】---DataStructure---数据结构之图(五)
- day2模拟赛总结
- db2重命名表
- C/C++:Linux时间函数以及基本概念
- 类和对象
- C++ mutable关键字
- 基于SSM+redis+solr的java校园论坛系统的设计与实现
- 二元一次方程求根