首页 > 解决方案 > 判断 Hashset 是否包含对象

问题描述

从时间复杂度的角度来看,是否有更有效的方法来检查是否HashSet不包含object给定值而不是set.stream.noneMatch?目前实现的代码供参考:

HashSet<Node> set = new HashSet<>(); // set initialization


Node(int x, int y) { // object constructor
    this.x = x;
    this.y = y;
}

if (checkSet(node, set)) { //method call
    neighbors.add(node);
}

private boolean checkSet(Node node, Set<Node> set) { // checkSet method
    return set.stream().noneMatch(n -> (n.x == node.x && n.y == node.y));
}

所以基本上我检查 a 中是否存在object具有相同值的 a HashSet

标签: javaset

解决方案


推荐阅读