问题描述
- Java HashMap的get(),put()算法时间复杂度
-
Java7和Java8的HashMap的put(),get()方法的时间复杂度是啥?还请从平均,最好,最坏的角度分析。谢谢
解决方案
最优情况,hash不碰撞,O(1),典型情况,近似是O(1),因为几乎没有碰撞,最坏情况,O(N),也就是所有的hash都一样,那么退化为线性查找
解决方案二:
hashmap的底层是两个数组,put最坏查找N次,get也是如此 。
解决方案三:
理想的是On,容量大小和分布是不是均匀都会有影响
时间: 2024-11-03 15:48:43