作者:涂凌萱_TLX_9s7_140 | 来源:互联网 | 2022-10-21 17:43
我设法创建一个具有1个键和2个值的查找表:
public static Map> myMap;
myMap= new HashMap>();
myMap.put("key 1", new AbstractMap.SimpleEntry(" value 1.1", "value 1.2"));
myMap.put("key 2", new AbstractMap.SimpleEntry(" value 2.1", "value 2.2"));
// and so on...
// retrieve the key, values
Map.Entry pair;
for (String key : myMap.keySet() ) {
pair = oidMap.get(key);
value1= pair.getKey();
value2= pair.getValue();
///use the key, value1, value2 as needed
}
但是,当我尝试将其扩展到4个值时,我遇到了很多错误,我发现Entry仅限于2个值!
public static Map> myMap;
myMap= new HashMap>();
那么,请问如何对1个键和4个值执行类似的操作?我无法通过为第一个map.Entry的第二个参数声明一个内部map.entry来扩展此范围,因为在那一点上,第一个String不再是唯一的,我的意思是,Map.Entry>的所有参数都可以重复,没有一个可以重复用作钥匙。
你们,不需要走我走的路。您可以自由地提供任何解决方案/数据结构,该结构/数据结构允许我以字符串和一个浮点数的形式存储和检索3个值,所有这些值均以String形式与键相关联。
最好的祝福,
1> vlumi..:
Java没有内置元组,尽管此类类型很容易实现,并且例如用于Spark,我相信最多可以有十个值。
您可以创建自己的包含值的类。如果程序中没有很多组合,则最好使用固定字段的纯类,因为它也可以给字段名称,并提供其用途的文档。
如果字段和类型的组合需要更加动态,则只需创建具有四个不同类型的泛型类,类似于Map.Entry的完成方式。