Java 一对一常量查找表的正确类型?

Java 一对一常量查找表的正确类型?,java,Java,对于与其他常量具有一对一关系的常量查找表,正确的Java类型是什么?例如: A1 <-> B1 A2 <-> B2 A3 <-> B3 我最初的想法是一个地图或枚举。你最好还是硬编码一个或 //HashMap示例 HashMap常量=新的HashMap(){{ 添加(“A1”、“B1”); 添加(“A2”、“B2”); 添加(“A3”、“B3”); }}; 您最好还是硬编码一个或多个 //HashMap示例 HashMap常量=新的HashMap(){{ 添

对于与其他常量具有一对一关系的常量查找表,正确的Java类型是什么?例如:

A1 <-> B1
A2 <-> B2
A3 <-> B3

我最初的想法是一个地图或枚举。

你最好还是硬编码一个或

//HashMap示例
HashMap常量=新的HashMap(){{
添加(“A1”、“B1”);
添加(“A2”、“B2”);
添加(“A3”、“B3”);
}};

您最好还是硬编码一个或多个

//HashMap示例
HashMap常量=新的HashMap(){{
添加(“A1”、“B1”);
添加(“A2”、“B2”);
添加(“A3”、“B3”);
}};

这是
java.util.Map
接口,您可以查看它的实现类。

这是
java.util.Map
接口,您可以查看它的实现类。

如果您只想让映射走一条路(即查找B中的a),那么a
java.util.Map
实现就可以了


如果您想让映射双向进行(即查找A的B和查找B的A),那么可以使用两个
java.util.Map
实例或双向映射接口;e、 g.Guava接口。

如果您只想让映射走一条路(即查找B中的A),那么
java.util.Map
实现就可以了


如果您想让映射双向进行(即查找A的B和查找B的A),那么可以使用两个
java.util.Map
实例或双向映射接口;e、 g.Guava界面。

您好,Stephen,这是否意味着对于您提供的密钥,即(Ax),您可以保证获得唯一值(Bx)?Map和BiMap仅支持1对1关系。不同之处在于您是可以在一个方向上查找,还是在两个方向上查找。这不是您使用双头箭头的意思吗?嗨,Stephen,这是否意味着对于您提供的密钥,即(Ax),您可以保证获得唯一值(Bx)?Map和BiMap仅支持1对1关系。不同之处在于您是可以在一个方向上查找,还是在两个方向上查找。这不是你说的使用双头箭头的意思吗?
B = getB(A)
//HashMap example

HashMap<String, String> Constants = new HashMap<String, String>() {{
    add("A1", "B1");
    add("A2", "B2");
    add("A3", "B3");
}};