Java 不同数据结构之间的比较
发布日期:2021-06-28 15:28:12 浏览次数:4 分类:技术文章

本文共 1017 字,大约阅读时间需要 3 分钟。

数据结构的:数组,线性表,非线性表:

通过上面的源码分析,我们来比较不同元素之间的差异:

问题:

1.ArraList 和Vector的区别

2。ArrayList 和LinkList 之间区别

3.LInkList和hashMap区别:

 

4.hashMap 和TreeMap 之间的区别

以下类推:

我们从有序性,同步性,数据结构,方法说明上,特性说明, :上 四方面做区别:

考虑1:

相同:

1..ArraList 和Vector 都是有序元素,基于基本的线性表构造而成。增减操纵类似动态数组

不同:

1.同步性

ArrayList线程不安全,vector 线程安全

2:数据增长

即Vector增长原来的一倍,ArrayList增加原来的0.5倍。

 

 

考虑2:

相同:

1..ArraList 和Vector 都是有序元素,基于基本的线性表构造而成。增减操纵类似动态数组

异同:

Array(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的

LinkList是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.当然,这些对比都是指数据量很大或者操作很频繁

 

考虑3:

截然不同的数据结构:

LinkList是一个双链表,线程不安全

基于hash 表的Map 结构,线性表的速度最快

 

考虑4:

hashmap 是由hash 表生成的 key-value 集合。

TreeMap 是由红黑树实现的有序的 key-value 集合。

共同点:

Map:在数组中是通过数组下标来对 其内容进行索引的,而Map是通过对象来对 对象进行索引的,用来 索引的对象叫键key,其对应的对象叫值value;

HashMap和TreeMap都不是线程安全的

异同点:

1、HashMap是通过hashcode()对其内容进行快速查找的;HashMap中的元素是没有顺序的;

    TreeMap中所有的元素都是有某一固定顺序的,如果需要得到一个有序的结果,就应该使用TreeMap

2.HashMap:适用于Map插入,删除,定位元素;

  TreeMap:适用于按自然顺序或自定义顺序遍历键(key)

3.明确定义了hashcode() 和equals(),保证了键的唯一性,而只是保证了 TreeMap继承SortedMap类;他保持键的有序顺序;

 

 

参考博文:

 

转载地址:https://blog.csdn.net/xiamaocheng/article/details/104558505 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Ribbon 整合Sentinel
下一篇:vue 语法

发表评论

最新留言

很好
[***.229.124.182]2024年04月24日 09时41分46秒