java - 判断 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
。
解决方案
推荐阅读
- linux - Linux GCC 编译器创建一个无效的可执行文件
- node.js - 用自制软件安装特定版本的节点会出错
- frameworks - Electron 框架 - 我可以选择使用哪个版本的 node.js 吗?
- javascript - Laravel 路由在 API 中不起作用,返回 404 页
- css - Flexbox: justify-content: space-between?
- laravel - laravel 5.6 Eloquent:雄辩的关系模型创建问题
- android - 如何将文本放在点指示器上方 - Viewpager - KOTLIN
- c# - 使用 HtmlAgilityPack 选择 innerHtml
- java - 如何实现一个像球杆一样的图像,当你用JavaFX拖动鼠标时,它会围绕一个点旋转
- angular - Angular:路由器重用策略中的依赖关系