java - 产生多个结果的键

标签 java hash

我是编程新手,如果这是一个愚蠢的问题,我很抱歉。我想知道是否有一种数据类型(可能)返回每个键不止一个答案。例如:

TestType<int,String> test = new TestType<int,String>();

因此,如果您输入 test.getKey(1),您可以获得 {"hello","this","is","a","test"}。

基本上,有没有一种数据可以返回多个答案,有点像 HashMap 和 List 的组合?

最佳答案

不在标准 Java 中。但是,您可以使用 Guava MultiMap集合类型。还有其他图书馆也提供多 map 集合。

如果出于某种原因您不想使用第三方库,您也可以使用自己的数据结构。但是,这绝对是在重新发明轮子,而且有点痛苦。您将定义 test成为Map<Integer, Set<String>>然后编写访问方法以在适当的条件下用空集初始化 key 条目。

请注意,Java 不允许将原始类型(例如,您正在使用的 int)用作泛型类型参数值。你必须使用 Integer .由于自动装箱,您仍然可以使用 test.get(1)检索存储在键 1 下的值.

关于java - 产生多个结果的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9862294/

相关文章:

Java Swing 实用程序

java - Hibernate注解哪里只适用于1对多关系?

c++ - 需要将字符串存储为某些快速数据结构中的对象的 id

java - 使用 Apache FOP 时波兰语特殊字母不可用

java - 如何仅使用关联对象的外键来保存 Spring 实体

java - 在 Text to Speech 中不总是调用 UtteranceProgressListener?

node.js - 如何使用 Passport.js 返回到当前哈希位置?

ruby - 在 ruby​​ 中对哈希数组进行排序

c++ - 计算 unordered_map 的运行哈希的最佳方法?

ruby - 使用变量构造格式字符串