我想避免使用for循环遍历HaspMap以查找密钥,然后选择对应于该密钥的值...有人可以帮助我实现相同的内容吗?
下面给出的是我使用forloop的代码,我想用containsKey function()替换
for (Entry<Long, Long> entry : sessionTimeStampHash.entrySet())
//if(sessionTimeStampHash.containsKey(sessionID))
{
if (entry.getKey().equals(sessionID))
{
sessionTimeStamp = entry.getValue();
}
}
最佳答案
您根本不需要循环。映射是关联的集合,这意味着它们是针对基于键的快速查找而设计和优化的。映射应以这种方式使用:
sessionTimeStamp = sessionTimeStampHash.get(sessionID);
if (sessionTimeStamp != null) {
// do something with sessionTimeStamp
}
或使用
containsKey()
:if (sessionTimeStampHash.containsKey(sessionID)) {
sessionTimeStamp = sessionTimeStampHash.get(sessionID);
// do something with sessionTimeStamp
}
请参见Java Tutorial,以了解有关地图和其他收藏的更多信息。