java - 使用 hashMap

标签 java

我想避免使用 for 循环来迭代 HaspMap 来查找键,然后拾取与该键对应的值...任何人都可以帮助我实现相同的...? 下面给出的是我使用 forloop 的代码,我想用 containsKey function() 替换它

 for (Entry<Long, Long> entry : sessionTimeStampHash.entrySet()) 
 //if(sessionTimeStampHash.containsKey(sessionID)) 
 {
    if (entry.getKey().equals(sessionID)) 
    {
        sessionTimeStamp = entry.getValue();
    }
 }

最佳答案

你根本不需要循环。 map 是关联集合,这意味着它们是针对基于键的快速查找而设计和优化的。 map 应该这样使用:

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了解有关 map 和其他集合的更多信息。

关于java - 使用 hashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5027428/

相关文章:

Java泛型继承神秘错误

java - Gson java.lang.NoClassDefFoundError

java - 从 ListView 中单击歌曲后,新 Activity 正在打开,但歌曲未播放

java - 如果 ArrayList 是实例变量,它是否会在 Java 中自动声明为静态?

java - 计算 Android/Google map 中行驶的距离

java - 我想使用 Java 将子元素插入 xml 树中的子元素

java - if 语句在执行过程中被跳过

java - 鼠标监听器不会引发错误,但不会触发(java)

java - 在多线程应用程序中使用带有 volatile 原语的条件运算符是否安全

java - 从 CFML 访问 JAVA 类和函数 - 对象实例化异常