hashmap和数组哪个速度快
来源:互联网 发布:网络调研公司排名 编辑:程序博客网 时间:2024/04/29 15:31
Chasel_s 最近去面试遇到了面试官问的很多问题,很多东西可能之后真正被人问过之后才会发现自己学了假的知识,
答对的就不说了,今天栽在java的数据结构上了,面试官今天问了我一个问题,数组和hashmap谁的效率快,为什么?
言归正传下面来解释。
很多时候面试一般会问hashmap和hashtable的速度谁快,这个一般面试java的人都会答上来,hashmap牺牲了
线程安全提高了效率,hashtable牺牲了效率换来了线程安全,之前还有一个面试官问了我一个问题,hashmap为什么
线程不安全,其实我是看过hashmap的源码的,我就给他解释源码,你们知道的之中解释是不在点上的,后来我回来
思考了一下发现回答其实很简单hashmap底层维护了一个数组,当多线程的时候对这个数组操作是不安全的。
下面就说说数组和hashmap谁的速度快,这其实是个坑,我其实当时回答其实对了一半,我说hashmap比数组快,
因为hashmap底层是使用一个链表实现的,所以速度快,很多时候我都是这么的只知其一不知其二,其实这种回答不全,
没错是快但是是在插入和删除的时候,在查询的时候因为数组有下标所以在查询集合中某个元素时,一般都会对数组干拜
下风。
Chasel_s对数据结构真的不是很懂,因为Chasel_s大学里面数据结构是在大一开的,那是还是菜鸟一枚,根本就没有
学会数据结构,看来以后要花一点时间补补。欢迎大佬们补充和指出问题。
阅读全文
2 0
- hashmap和数组哪个速度快
- 复制和剪切, 哪个速度更快?
- i++和++i哪个速度较快?
- 哪个访问速度快!
- ++num和num++哪个执行速度更快,++num为什么会比num++速度快
- 串行, 并行,速度哪个更快。
- scp和rsync哪个快?
- 优化代码,看看哪个执行速度更快!!!
- 优化代码,看看哪个执行速度更快!!!
- 单链表与List<T>究竟哪个遍历速度快?
- java中int与short哪个速度更快?
- Java和C语言哪个更快?
- TOPN和SETROWCOUNTN哪个更快
- mmap()和read()哪个快——
- C和C++哪个更快?
- NSSArray和NSSet遍历哪个更快
- differenct between count(0), count(1) and count(*)[哪个执行速度快?]
- STL的vector与MFC的CArray哪个速度更快?
- C#操作字符串方法总结
- 利用WebHook实现Github或Coding代码的自动部署
- IAR Error[Pe147]: declaration is incompatible with '__interwork __softfp unsigned long __get_PSP(vo
- 场效应管(FET)知识点释义
- 【转载】SSM整合【spring,springMvc,mybatis】
- hashmap和数组哪个速度快
- 虚拟主机备份需要注意的几大问题
- 【deep learning】斯坦福CS231n—深度学习与计算机视觉(资料汇总)
- python3中的np.load编码问题
- Android知识体系梳理笔记五:Kotlin学习笔记一:类和继承以及Anko(全)的基本使用
- bootstrap-项目总结
- HTML初学者笔记4
- Java实现office文档与pdf文档的在线预览功能
- C语言实现快速排序算法