有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (6) 个答案

  1. # 2 楼答案

    ^{}方法,但对于常见的实现,这只是在内部迭代所有值,并将它们与参数进行比较

  2. # 3 楼答案

    您可以找到您正在查找的信息,但效率低下:

    Object key;
    Object val;
    HashMap hm = new HashMap();
    for (Iterator iter = hm.entrySet().iterator(); iter.hasNext();) {
      Map.Entry e = (Map.Entry) iter.next();
      if (key.equals(e.getKey()) && val.equals(e.getValue())) {
        // do something
      }
    }
    

    在一些其他答案中建议,你可能会考虑一个更好的数据结构来解决你试图解决的问题。

  3. # 4 楼答案

    使用HashMap。containsKey()以了解它是否包含给定的键。 使用HashMap。keySet()或HashMap。entrySet()检索条目或值的集合,并按顺序对其进行迭代

  4. # 5 楼答案

    HashMap.containsKey()

    这就是HashMap最初的目的

    (不知道“按顺序浏览所有条目”是什么意思。每个键只有一个条目。)


    编辑:

    现在您编辑了这个问题,答案是!:(

    如果您需要该功能,请设计自己的双向HashMap,将每个值的位置存储在另一个值中(希望有意义),然后使用该类HashMap不是为此而设计的

  5. # 6 楼答案

    一个常见的模式是使用

    if(hashMap.containsKey(key)) {
        Object o = hashMap.get(key);
    
    }
    

    但是,如果您知道没有一个值是null(许多地图集合不允许null),那么您可以执行以下更有效的操作

    Object o = hashMap.get(key);
    if (o != null) {
    
    }
    

    顺便说一句:containsKey与

    Set<Key> keys = hashMap.keySet();
    boolean containsKey = keys.contains(key);