开发者社区 问答 正文

Java HashMap的get(),put()算法时间复杂度

Java7和Java8的HashMapput(),get()方法的时间复杂度是啥?还请从平均,最好,最坏的角度分析。

展开
收起
蛮大人123 2016-06-07 15:25:35 8004 分享 版权
2 条回答
写回答
取消 提交回答
  • get()方法最好情况O(1),最差情况O(N),平均O(1)

    put()方法最好情况O(1),最差情况比较复杂,其中底层实现还涉及到map扩容

    2019-07-17 19:30:18
    赞同 展开评论
  • 我说我不帅他们就打我,还说我虚伪

    最优情况,hash不碰撞,O(1),典型情况,近似是O(1),因为几乎没有碰撞,最坏情况,O(N),也就是所有的hash都一样,那么退化为线性查找

    2019-07-17 19:30:18
    赞同 展开评论