Java Hashtable:一个键-两个值,如何同时获取它们?

维吉尔:

我的问题是我有一个哈希表,最终得到了一些带有两个值的键。我想同时获得这两个价值,因此我可以看到我想要的一个并接受它。

这是一个例子:

Hashtable<String, String> myTable = new Hashtable<>();
myTable.put("key1", "value1");
myTable.put("key1", "value2");
System.out.println(myTable.get("key1"));
//output : value2

如何同时获取这两个值?

谢谢您的帮助 !


编辑:在我的测试中,HashTable不能存储这样的2个值,但我保证在我的项目中,我有一个(我相信)执行相同操作的代码。当我的算法运行完System.out.prinln(myTable)后,它确实多次显示具有不同值的同一键。

南五世:

在您的示例中,这取决于创建HashTable的方式。您创建一个HashTable将一个String映射到一个String,然后因为该值是一个String,所以不能期望该表可以在一个键上存储多个值。当您执行第二种put方法时,它将找到具有值的键,key1并将映射到该键的先前值替换为新的值。

如果要在一个键上存储多个值,请考虑将包含键的多个值的列表。这是将类型为String的键映射到多个String值的示例:

Hashtable<String, ArrayList<String>> myTable = new Hashtable<>();
ArrayList<String> listValue = new ArrayList<>();
listValue.add("value1");
listValue.add("value2");
myTable.put("key1", listValue); 
System.out.println(myTable.get("key1")); // get all values of the key [value1, value2]
System.out.println(myTable.get("key1").get(0)); // get the first value of this key, value1
System.out.println(myTable.get("key1").get(1)); // get the second value of this key, value2

建议在HashTable上使用HashMap。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当两个外键列对应同一个键时,如何获取它们的值?

如何在java中洗牌一个Hashtable

Java Map类可以包含一个值的两个或更多键

如何使用java 5获取两个int值相加的int []的前一个值

如何获取两个Java日期之间的天数,同时比较日期和时间

PowerShell Hashtable显示第一个键

使用Java 8 Streams如何使用一个列表获取两个不同的列表

java - 如何比较两个txt文件中的元素并将它们合并到一个文件中?

如何同时迭代 Java 中的两个列表?

一个Java映射,其中的键是已知的,但是稍后应计算值,因为它们很昂贵

java,两个整数,它们相等但

如何在Java中使用useDelimeter从字符串中获取两个特定值?

当两个键的值相同时,从python字典中删除一个项目

在 Laravel 中同时从另外两个模型中获取一个值

Hashtable的一个HashMap,HashSet的,在Java集合框架哈希表的概念

如何从两个函数中获取两个随机生成的值的结果并将它们相加?

Java的:是否可以将字符串值在两个数组比较,如果它们匹配,增加第一阵列中的一个int值?

如果一个键在Java中多次出现,则将一个值作为键,将另一个值作为列表进行映射

根据Java中的值获取第一个LinkedHashMap键

如何在 Java 中使用增强的 for 循环获取链接哈希映射的下一个键/值对

内置的HashTable类可以显示上一个和下一个键吗?

如何从方法中返回Java中的两个值

如何在Java中比较两个double值?

如何从Java中的两个对象检索值?

如何从键有两个值的字典中输出一个值

如何将多个值存储到一个键(java)

如何使用Java 8流获得每个不同键的第一个值?

Java HashMap:如何将多个值添加到一个键?

无法同时使两个单选按钮将值传递给ObaservableList Java?