gpt4 book ai didi

Java Hashtable : one key - two value, 如何获取它们?

转载 作者:行者123 更新时间:2023-12-01 17:29:06 26 4
gpt4 key购买 nike

我的问题是我有一个哈希表,并且最终得到一些具有两个值的键。我想同时获得这两个值,这样我就可以看到我想要哪一个并接受它。

这是一个例子:

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

如何检索这两个值?

感谢您的帮助!

<小时/>

编辑:在我的测试中,哈希表无法存储像这样的 2 个值,但我保证在我的项目中我有一个(我相信)代码可以做同样的事情。当我的算法运行后,我System.out.prinln(myTable)它确实多次显示具有不同值的相同键。

最佳答案

在您的示例中,这取决于创建哈希表的方式。您创建一个将字符串映射到字符串的哈希表,然后因为该值是字符串,所以您不能指望该表可以在一个键上存储多个值。当您执行第二个 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

建议使用 HashMap 而不是 HashTable。

关于Java Hashtable : one key - two value, 如何获取它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61158143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com