如何使用dataholder访问嵌套hashmap中的数据



我有一个hashmap,里面有一个数据持有者,如下所示:

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

当我试图访问它时,这是打印:

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

请求获取(count2(->空

哈希映射是这样构造的。

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

我怎样才能用字符串"访问密钥0|0|00|01|2|00|3'"?

您可以在Map Set中迭代,并验证哪个Data对象包含您的密钥

在您的情况下,它将是:

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;
}

此函数返回:

  • 如果找到键(仅第一次出现(,则为相应的值
  • -如果找不到钥匙,则为1

要使此函数工作,您需要为数据对象定义Getters

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

最新更新