我需要一个数据结构来以1:1关系存储string-int值对,并且也能够从任何一种方式查找它们的对应对象。

我编写了一个带有Hashtable和String数组的类,并将数据存储了2次,并使用内置函数进行查找。

我的问题是,有没有更好的方法可以做到这一点?更好的是,我的意思是高效并且不存储2次数据,并且最好不要编写大量代码:P。

最佳答案

看来您可能正在寻找bimap。
Google馆藏(现在是Guava的一部分)包含一个 BiMap 接口(interface)以及一些实现。
BiMap文档中:

BiMap.inverse 方法似乎返回以值作为键,并以键作为值的Map,以便Map可用于在值上调用get并检索键。
此外,Map返回的inverse是基础数据的 View ,因此不必为原始数据制作额外的副本。
BiMap.inverse方法文档中:

关于java - 如何在Java中创建2向 map ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3430170/

10-09 00:19