映射所需的行为

aks*_*hay 4 java map

在地图中我们有键,值对.如果我们尝试将相同的键放在地图中2次会产生错误.现在我也想要类似于行为的值.简而言之,当我把一个新的键,值放入地图密钥和值都应该是唯一的,否则它应该通过例外,我怎么能实现这个?

Jon*_*eet 5

听起来你想要一个番石榴 Bimap.

bimap(或"双向映射")是一种映射,它保留其值及其键的唯一性.此约束使bimaps支持"反向视图",这是另一个包含与此bimap相同的条目但具有反向键和值的bimap.

(一般来说,番石榴是一个很棒的图书馆.顺便说一下.非常值得使用.)

  • @akshay:然后重新发明那个轮子.就那么简单.重复许多聪明人已经为你做过的工作.哦,他们还做了所有的测试和文档以及一切.是的,只需重新做一遍.运气好的话,你甚至可能会比他们做得更好. (6认同)
  • @akshay:那么你基本上必须自己实施像Bimap这样的东西.据我所知,JRE没有内置任何东西.最简单的方法是使用封装在新类中的两个HashMaps(或者像Visage建议的Map和Set).将来,如果你有限制禁止最自然的解决方案,那么在问题中这样说会很好. (5认同)
  • @Visage.它是根据Apache许可证授权的.我很确定你只能包含你需要的文件.不愿意接受第三方图书馆通常源于没有适当的构建基础设施或缺乏理解许可证的愿望.这两个都不是很好的理由,而且任何合理规模项目的可能性都是你最终会得到第三方的libs,此时你会因为没有尽快使用它们而踢自己. (3认同)
  • 我觉得你很苛刻.如果他想要一个简单问题的简单解决方案,那么在他的应用程序中使用单个类可能是一个更好的主意,而不是可能包括一个包含他不需要的数百个类的第三方库,无论他们写得多好也许. (2认同)