java数据结构选择参考
来源:互联网 发布:纺织软件 编辑:程序博客网 时间:2024/05/19 19:15
java数据结构选择参考
java的数据结构主要有,一种是通过索引建立联系数组,一种是通过链接点建立联系的链表,
还有一种是既有索引和链接关系的树。
如何选择java数据结构进行使用,下面给出一些参考:
一、几个常用类的区别
1.ArrayList: 元素单个,效率高,多用于查询
2.Vector: 元素单个,线程安全,多用于查询
3.LinkedList:元素单个,多用于插入和删除
4.HashMap: 元素成对,元素可为空
5.HashTable: 元素成对,线程安全,元素不可为空
二、Vector、ArrayList和LinkedList
大多数情况下,从性能上来说ArrayList最好,但是当集合内的元素需要频繁插入、删除时LinkedList会有比较好的表现,但是它们三个性能都比不上数组,另外Vector是线程同步的。所以:
如果能用数组的时候(元素类型固定,数组长度固定),请尽量使用数组来代替List;
如果没有频繁的删除插入操作,又不用考虑多线程问题,优先选择ArrayList;
如果在多线程条件下使用,可以考虑Vector;
如果需要频繁地删除插入,LinkedList就有了用武之地;
如果你什么都不知道,用ArrayList没错。
三、Collections和Arrays
在 Java集合类框架里有两个类叫做Collections(注意,不是Collection!)和Arrays,这是JCF里面功能强大的工具,但初学者往往会忽视。按JCF文档的说法,这两个类提供了封装器实现(Wrapper Implementations)、数据结构算法和数组相关的应用。
想必大家不会忘记上面谈到的“折半查找”、“排序”等经典算法吧,Collections类提供了丰富的静态方法帮助我们轻松完成这些在数据结构课上烦人的工作:
binarySearch:折半查找。
sort:排序,这里是一种类似于快速排序的方法,效率仍然是O(n * log n),但却是一种稳定的排序方法。
reverse:将线性表进行逆序操作,这个可是从前数据结构的经典考题哦!
rotate:以某个元素为轴心将线性表“旋转”。
swap:交换一个线性表中两个元素的位置。
- java数据结构选择参考
- 数据结构之选择排序之堆排序(参考严蔚敏数据结构)
- 数据结构之简单选择排序(参考整理严蔚敏数据结构)
- java数据结构--选择排序
- 数据结构JAVA---选择排序
- Java数据结构--选择排序解析
- java数据结构之选择排序
- 选择排序 Java数据结构与算法
- Java 数据结构----冒泡排序 选择排序
- java数据结构的选择---------------马士兵
- <三>java数据结构与算法 选择排序
- 【数据结构】-简单选择排序Java实现
- java数据结构排序之选择排序实现
- 数据结构之选择排序的Java实现
- java数据结构与算法_____选择排序
- java数据结构 选择排序(二)
- JAVA数据结构:简单排序(冒泡,选择,插入)
- Java数据结构与算法---选择排序
- 如何引用Telerik UI for UWP
- 转行解惑1--什么是数据抽象化
- 银联无感支付自动缴费不停车快速离场
- ios中的self的含义是什么
- 梯度下降
- java数据结构选择参考
- java核心技术卷 之泛型方法
- linux命令--diff/patch
- pycharm 激活
- Wannafly挑战赛1 B Xorto 前缀和
- struct框架原理
- vue中使用定时器时this指向问题
- 基于VGG19的识别中国人、韩国人、日本人分类器
- jdbcTemplate源码解析