这个问题在这里已经有了答案:




8年前关闭。






我正在寻找一种 Java 数据结构(某种映射),我可以在其中对键和值执行查找。例如,假设我在一组字符串和整数之间有一个一对一的映射。调用这个对象映射器。我希望能够执行以下操作:

  • mapper.getAssociated(value) : 这将返回 key
  • mapper.getAssociated(key) : 这将返回值
  • 最佳答案

    我认为您正在寻找 google guava BiMap (或) commons 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 的信息,请参阅这篇文章。

    10-07 18:51