我如何使用数据持有者访问嵌套哈希图中的数据?
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% 有效,因为我没有测试过,至少它给了你一个想法
我有一个 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% 有效,因为我没有测试过,至少它给了你一个想法