`
xiaoshao
  • 浏览: 50328 次
社区版块
存档分类
最新评论

自己创建类作为HashMap或者HashTable的键值或者Value值时需要注意点

 
阅读更多

在HashMap和HashTable中利用键值查找value的方法是,首先对键值求hashCode,然后根据键值的hashCode进行快速匹配。

基类Object的hashCode方法是根据类的地址求出hashCode,equals方法也是简单的比较地址。

基于以上的机制我们首先要对类的hashCode方法进行覆盖,同时还要对equals方法进行覆盖。因为在比较两个键值的时候,要使用equals方法。

分享到:
评论

相关推荐

    HashMap与HashTable和HashSet的区别

    HashTable不支持空键值对! 而HashMap支持空键值对!

    Java集合专题总结:HashMap 和 HashTable 源码学习和面试总结

    Java集合专题总结:HashMap和HashTable源码学习和面试总结 本文总结了Java集合专题中的HashMap和HashTable,涵盖了它们的源码学习和面试总结。HashMap是一种基于哈希表的集合类,它的存储结构是一个数组,每个元素...

    hashmap和hashtable的区别.docx

    1. HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。 2. HashMap是非synchronized,而Hashtable是synchronized...

    java程序员面试题

    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概...

    125条常见的java面试笔试题大汇总

    HashMap和Hashtable的区别...不是,在多个线程访问Hashtable时,不需要自己为它的方法实 现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所 以性能不会有很大的差异。

    java面试笔试题大汇总.doc

    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概...

    HashMap原理.docx

    它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快HashMap可以接受null键和值,...

    java summary(java笔记)

    学习java的一些笔记和个人总结...HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。

    JAVAEE精选面试题.docx

    资源内容包含: 1、java基础; 2、javaWEB; 3、java数据库; 4、javaEE。 ...HashMap和Hashtable的区别?...3).hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。

    JAVA面试题最全集

    用关键字final修饰一个类或者方法时,有何意义? 48.掌握类和对象的概念,掌握面向对象编程的本质 49.静态变量和静态方法的意义,如何引用一个类的静态变量或者静态方法? 50.JAVA语言如何进行异常处理,关键字:...

    Java Map 按照Value排序的实现方法

    Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。这篇文章主要介绍了Java Map 按照Value排序的实现方法,需要的朋友可以参考下

    Android 对Map按key和value分别排序的实例

    Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。 TreeMap:基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据创建映射...

    关于JAVA面试的100题及其答案

    HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary...

    进销存系统文档作业例子

    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概...

    超级有影响力霸气的Java面试题大全文档

    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概...

    java 面试题 总结

    最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    put()方法-向HashMap存储键值对,Value> 65 get()方法-根据Key从HashMap中取Value 66 HashMap的特点总结: 66 【集合】HashMap在并发场景下的问题和解决方案 67 多线程put后可能导致get死循环 67 多线程put的时候可能...

    【后端】java基础(4.4)java中级基础之集合——Map

    我们平常直接叫它“键值(key——value)”结构。 map的实现接口有有不少,比如: HashMap Hashtable TreeMap LinkedHashMap 我们主要来说说最常用的HashMap: 添加元素:put(key,value) HashMap map = new HashMap&...

    Java中的小知识 —- Map集合

    2. Map集合以Key和Value这种键值对的方式存储元素,所有Map集合的Key特点:无序不可重复 3. Key和value都是存储Java对象的内存地址 4.所有Map集合的key特点:无序不可重复。Map集合中的key和set集合存储元素特点相同...

Global site tag (gtag.js) - Google Analytics