我正在寻找一种Java数据结构(某种地图),我可以在其中对Keys和Values执行查找。例如,假设我在一组字符串和整数之间有一对一的映射。调用此对象映射器。我希望能够执行以下操作:
mapper.getAssociated(value)
:这将返回密钥mapper.getAssociated(key)
:这会返回值答案 0 :(得分:5)
我认为您正在寻找谷歌guava BiMap(或)公地BidiMap。
示例:
BidiMap bidiMap = new DualHashBidiMap( );
bidiMap.put( "il", "Illinois" );
bidiMap.put( "az", "Arizona" );
bidiMap.put( "va", "Virginia" );
// Retrieve the key with a value via the inverse map
String vaAbbreviation = bidiMap.inverseBidiMap( ).get( "Virginia" );
// Retrieve the value from the key
String illinoisName = bidiMap.get( "il" );
请参阅BiMap Example的这篇文章。
答案 1 :(得分:2)