我可以在Java中使用键 - 键映射(而不是键值)吗?

use*_*596 8 java map

如果我不仅需要快速搜索密钥而且还需要按价值搜索,该怎么办?换句话说,是否存在类似键值的结构而不是键值?

Jon*_*eet 9

听起来你想要一个bimap - 如果我是你,我会使用Guava中的实现; 有一个BiMap接口,以及各种实现,如HashBiMapImmutableBiMap.

请注意,您通常BiMap从一个"侧面"(K1到K2)查看a ,只需调用inverse()以获得相反的视图(K2到K1).


Jes*_*per 5

有几个图书馆有这样的东西.例如,Google Guava有一个BiMap(双向地图).遗憾的是,标准Java库中没有双向映射.