我如何使用数据持有者访问嵌套哈希图中的数据?

How can i acess data inside nested hashmap with dataholder?

我有一个 hashmap,里面有一个 dataholder,像这样:

map.put(0, new Data("req", 5));

当我尝试访问它时,打印出来的是:

System.out.println("Print -> " + req.get(0));

Req.get(count2) -> null

hashmap是这样构造的

1 Data{key='0|0|00|01|2|00|3', value=3}

如何使用字符串“'0|0|00|01|2|00|3'”访问密钥?

您可以在映射集中进行迭代并验证哪个数据对象包含您的键

你的情况是:

public int findValue(Map mp, String key)
    Iterator it = mp.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry pair = (Map.Entry)it.next();
        if(pair.getValue().getKey().equals(key));
            return pair.getValue().getValue();
        it.remove();
    }
    return -1;
}

这个函数returns:

  • 找到key对应的值(只有第一次出现)
  • -1 如果找不到密钥

要使此功能正常工作,您需要为数据对象定义Getters

不能保证它 100% 有效,因为我没有测试过,至少它给了你一个想法