我有一个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%有效,因为我还没有测试过,至少它给了你一个想法