【问题标题】:Hashmap holding a hashset - how to retrieve dataHashmap 持有一个 hashset - 如何检索数据
【发布时间】:2014-03-07 18:24:43
【问题描述】:

如何从HashMap<String,HashSet<String>> objects 中获取对特定属性具有相同值的所有对象的列表,String 保存属性,HashSet 保存属性值列表!

【问题讨论】:

  • HashSet 上使用IteratorSet 并不是真的用于检索,而是用于检查是否存在某些东西。
  • 如果你能举个具体的例子,会更容易帮助你。
  • 变量已经为我定义好了。不是我的选择! hashmap 包含一个属性列表,例如nameage 等,我想检索所有具有 18 值的对象,例如 age。我在想象类似objects.get("age").contains("18") 我希望我现在说得更清楚了
  • 虽然这确实返回了一个布尔值......我想要找到这些值的实际对象
  • 你能提供一个具体的例子来说明数据的内容吗?

标签: java hashmap hashset


【解决方案1】:
Map<String,Set<String>> objects  = new HashMap<String,Set<String>>();
// fill it up

String needle = "value";
List<String> results = new LinkedList<String>();
for(Map.Entry<String,Set<String>> entry : objects.entry set())
{
   if(entry.getValue().contains(needle))
   {
       results.add(entry.getKey());
   }
}
return results;

【讨论】:

    猜你喜欢
    • 2019-03-29
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2015-07-06
    相关资源
    最近更新 更多