在使用 HashMap,当使用自定义数据结构作为Key时,如何保证hashMap读取get时,获取到key对应到value?

已知范型数据模型存储:keyToEntry: HashMap<K, LinkedEntry<K, V\>\> = new HashMap<K, LinkedEntry<K, V\>\>();

假使我在使用 HashMap,当使用自定义数据结构作为Key时,如何保证hashMap读取get时,获取到key对应到value,

注意: Key是复合数据结构,内部属性的值如果相同,认为是一个key.

阅读 215
1 个回答

不支持自定义Key重写equals, 这里map的key如果是个object类型,即便字面量是一样的,但是地址值是不一样的,也会认为是不同的key,在取的时候也不好取。

当前给的思路是,在map set之前判断这个key对象是否存在,可以根据里面的关键元素判断,然后把关键元素拼接作为key,而非object作为key

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进