我在表中配置了一个使用 test_id_val 的 tag_ids 列表。我使用以下查询检索数据
Select test_id_val , tag_id from p_details
对于简单的情况,我宁愿使用 HashMap 来存储键值对并检索数据,但在我的情况下,test_id_val 可以接受空值
例如,考虑以下结构:
1. APP TR202
2. APP TR204
3. APP TR205
4.NULL TR206
5.NULL TR207
6.NULL SM504
7.NULL SM505
因此,我将有一个 tag_ids 值列表来映射到 test_id 键,该键可以为 null 或包含值。我的要求是将 test_id 键映射到 tag_ids 列表
有具体的方法吗?
感谢您的帮助和时间..
最佳答案
您可以考虑使用 com.google.common.collect.Multimap
的某种实现。
您可以将多个值与一个键关联,然后使用 map.get(key)
方法将它们作为集合检索。对于您的情况:
Multimap<String, String> mmap = HashMultimap.create();
mmap.put("APP", "TR202");
mmap.put("APP", "TR204");
mmap.put("APP", "TR205");
mmap.put(null, "TR206");
mmap.put(null, "TR207");
mmap.put(null, "SM504");
mmap.put(null, "SM505");
for (String key : mmap.keySet()) {
for (String value : mmap.get(key)) {
System.out.println(key + ": " + value);
}
}
打印:
null: SM505
null: SM504
null: TR207
null: TR206
APP: TR202
APP: TR205
APP: TR204
关于java - 使用hashmap实现单键到多个值的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691518/