集合框架总结
来源:互联网 发布:织梦cms邀请码 编辑:程序博客网 时间:2024/05/02 01:13
集合框架总结
ArrayList
对于ArrayList,它的特点是:内部采用动态数组实现,这决定了:
- 可以随机访问,按照索引位置进行访问效率很高,用算法描述中的术语,效率是O(1),简单说就是可以一步到位。
- 除非数组已排序,否则按照内容查找元素效率比较低,具体是O(N),N为数组内容长度,也就是说,性能与数组长度成正比。
- 添加元素的效率还可以,重新分配和拷贝数组的开销被平摊了,具体来说,添加N个元素的效率为O(N)。
- 插入和删除元素的效率比较低,因为需要移动元素,具体为O(N)。
LinkedList特点分析
LinkedList内部是用双向链表实现的,维护了长度、头节点和尾节点,这决定了它有如下特点:
- 按需分配空间,不需要预先分配很多空间
- 不可以随机访问,按照索引位置访问效率比较低,必须从头或尾顺着链接找,效率为O(N/2)。
- 不管列表是否已排序,只要是按照内容查找元素,效率都比较低,必须逐个比较,效率为O(N)。
- 在两端添加、删除元素的效率很高,为O(1)。
- 在中间插入、删除元素,要先定位,效率比较低,为O(N),但修改本身的效率很高,效率为O(1)。
HashMap特点分析
HashMap实现了Map接口,内部使用数组链表和哈希的方式进行实现,这决定了它有如下特点:
- 根据键保存和获取值的效率都很高,为O(1),每个单向链表往往只有一个或少数几个节点,根据hash值就可以直接快速定位。
HashMap中的键值对没有顺序,因为hash值是随机的。
如果经常需要根据键存取值,而且不要求顺序,那HashMap就是理想的选择。
0 0
- 集合框架-集合总结
- 集合框架_Set集合总结
- 集合框架-Collection集合总结
- Java集合框架总结
- 集合框架学习总结
- java集合框架总结
- Java集合框架总结
- Java集合框架总结
- 集合框架总结二
- 集合框架-Collection总结
- java集合框架总结
- 集合框架_Cellection总结
- java集合框架总结
- Java集合框架总结
- java集合框架总结
- 06--集合框架总结
- 集合框架总结
- 框架集合总结
- arpa格式的ngram模型概率如何计算
- CentOS7系统安装
- 2107 图的深度遍历
- JavaScript正则表达式总结
- 【NOI2014】起床困难综合症 解题报告
- 集合框架总结
- Revit开发之梁柱分段
- 汇编第一次试验
- 让Win10标题栏恢复五彩缤纷,不再“惨白”
- 51nod 1185 威佐夫游戏 V2
- 421. Maximum XOR of Two Numbers in an Array
- Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60 "
- tomcat启动startup.bat一闪而过
- MongoDB常用操作命令有哪些?