【问题标题】:Check if a hash set contains an elements with a specific hash value检查哈希集是否包含具有特定哈希值的元素
【发布时间】:2013-10-24 06:30:58
【问题描述】:

假设我们有一个类Node的对象的哈希集,其中类Node定义如下:

class Node{
  int id;
  public int hash(){
     return id;
  }
}

我们想检查散列集是否包含id为n的元素,如果没有对象,我们如何做到这一点?

【问题讨论】:

  • 你有没有尝试过?有用吗?
  • 其实我问的原因是什么都没找到。

标签: java hash hashset


【解决方案1】:

不能,hash码的使用是HashSet类的内部实现,但是Set接口不讲hash码。

我建议您使用另一种结构,例如 Map,您可以在其中按 id 存储对象,然后您可以检查某个 id 是否存在。

【讨论】:

    【解决方案2】:
    boolean contains = mySet.contains(new Node(n));
    

    【讨论】:

    猜你喜欢
    • 2017-04-28
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 2017-04-13
    • 2013-11-22
    • 2014-04-06
    • 2019-08-08
    • 1970-01-01
    相关资源
    最近更新 更多