我想避免使用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,以了解有关地图和其他收藏的更多信息。

09-11 19:41
查看更多