Java 使用哈希映射

Java 使用哈希映射,java,Java,我想避免使用for循环来迭代HaspMap以查找键,然后拾取对应于该键的值…有人能帮我实现相同的。。。? 下面是我使用forloop的代码,我想用containsKey函数()替换它 for(条目:sessionTimeStampHash.entrySet()) //if(sessionTimeStampHash.containsKey(sessionID)) { if(entry.getKey().equals(sessionID)) { sessionTimeStamp=entry.getV

我想避免使用for循环来迭代HaspMap以查找键,然后拾取对应于该键的值…有人能帮我实现相同的。。。? 下面是我使用forloop的代码,我想用containsKey函数()替换它

for(条目: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.contains(sessionID) {
  sessionTimeStamp  = sessionTimeStampHash.get(sessionID);
} else {
   //Create session 
  sessionTimeStamp = getSessionTimeStamp();
  sessionTimeStampHash.put(sessionId, sessionTimeStamp);
}

我建议您阅读一些关于Java的基本教程。
if (sessionTimeStampHash.containsKey(sessionID)) {
  sessionTimeStamp = sessionTimeStampHash.get(sessionID);
  // do something with sessionTimeStamp
}
if(sessionTimeStampHash.contains(sessionID) {
  sessionTimeStamp  = sessionTimeStampHash.get(sessionID);
} else {
   //Create session 
  sessionTimeStamp = getSessionTimeStamp();
  sessionTimeStampHash.put(sessionId, sessionTimeStamp);
}