获取java映射中给定值的索引或键

获取java映射中给定值的索引或键,java,map,Java,Map,给定该值,我需要在映射中获取该值所属的索引或键,而无需对其进行迭代。我正在使用java 谢谢如果不进行迭代,您将无法完成 此外,该值可能属于多个键,因此您的问题有些没有意义 如果键/值之间存在一对一的关系,您可以通过使用两个映射(关系的每个方向一个映射)并将该值作为第二个(反向)映射的键进行查找来实现这一点。如果不进行迭代,则无法实现 此外,该值可能属于多个键,因此您的问题有些没有意义 如果键/值之间存在一对一的关系,您可以使用两个映射(关系的每个方向一个映射),并将该值作为第二个(反向)映

给定该值,我需要在映射中获取该值所属的索引或键,而无需对其进行迭代。我正在使用java


谢谢

如果不进行迭代,您将无法完成

此外,该值可能属于多个键,因此您的问题有些没有意义



如果键/值之间存在一对一的关系,您可以通过使用两个映射(关系的每个方向一个映射)并将该值作为第二个(反向)映射的键进行查找来实现这一点。

如果不进行迭代,则无法实现

此外,该值可能属于多个键,因此您的问题有些没有意义



如果键/值之间存在一对一的关系,您可以使用两个映射(关系的每个方向一个映射),并将该值作为第二个(反向)映射的键进行查找。

您可以始终使用commons集合中的BidiMap:


您可以始终使用commons集合中的BidiMap:


您必须使用某种
双向映射。例如,这个:

您必须使用某种
双向映射。例如,这个:

番石榴有一个,这是一个双向映射(每个键和每个值都是唯一的)

如果您不想使用外部库,则只有2个选项:

  • 使用普通的
    HashMap
    ,您将需要迭代键
  • 使用2个哈希映射,一个将键与值关联,另一个将值与键关联(这本质上就是双向映射所做的)
番石榴有一个双向图(每个键和每个值都是唯一的)

如果您不想使用外部库,则只有2个选项:

  • 使用普通的
    HashMap
    ,您将需要迭代键
  • 使用2个哈希映射,一个将键与值关联,另一个将值与键关联(这本质上就是双向映射所做的)

@PradeepSimha到目前为止什么都没有。我还在研究。我尝试了迭代,但它需要相当长的时间。“我只是问是否有更简单的方法来做它。”PradeepSimha说,到目前为止什么都没有。我还在研究。我尝试了迭代,但它需要相当长的时间。我只是问有没有更简单的方法。