-
关于java hashcode方法对性能影响的一些疑问5
java api中关于hashcode的规定,就是两个值相等,他们的hashcode一定相等,但hashcode相等,其对应的值不一定相等,说hashcode相等会影响hashtables性能,具体怎么影响性能的。
2014年4月27日 18:29
4个答案 按时间排序 按投票排序
-
采纳的答案
最好的办法是去阅读HashMap或者Hashtable的代码(二者的实现是比较接近的),或者研究一下数据结构里面讲述的Hash表的数据结构,HashMap&Hashtable是通过拉链法来构造的。 检索的时候使用HashCode作为Hash算法的Key,当多个HashCode相同时,需要逐个调用equals方法来查找。
极端情况下,如果所有的对象HashCode都相同,则检索复杂度为O(n),如果Hash后所有的对象的Hash编码都不同(不同HashCode的Hash结果也有可能是相同的),则检索复杂度为O(1)2014年4月29日 08:50
-
2014年4月28日 16:09
相关推荐
这本书可能涵盖了一些容易误解的概念,如字符串的不可变性、equals()与hashCode()的关系,以及异常处理的最佳实践。 通过阅读这些资料,开发者不仅可以强化自身的Java基础知识,还能提升解决问题的能力,为面试做好...
他可能对Java的基础知识、框架、数据库、并发编程、JVM、设计模式、算法等方面有疑问。需要确保覆盖这些主题,同时提供简洁明了的解释和示例。 分为几个主要部分,比如Java基础、集合框架、多线程、JVM、数据库、...
以下是对标题和描述中提及的一些关键知识点的详细解释: 1. **Java基础** - **面向对象的特征**:继承、封装和多态是Java面向对象编程的三大特性,它们提供了结构化编程的基础。 - **final, finally, finalize**...
- **数据类**:Kotlin的数据类自动提供了标准方法如`equals()`, `hashCode()`, 和 `toString()`等,简化了创建简单数据承载类的过程。 - **密封类**:Kotlin中的密封类是一种特殊类型的类,只能有有限数量的子类,...
- FAQ 包括了关于 Kotlin 的常见疑问及解答。 **9.2 与其他语言的比较** - **与 Java 的比较**:指出 Kotlin 相对于 Java 的优势与不同之处。 - **与 Scala 的比较**:分析 Kotlin 和 Scala 在语法、性能等方面的...