当前位置: 首页 > 面试题库 >

检查集合是否包含对象,通过引用进行比较

郑安晏
2023-03-14
问题内容

所述Collection.contains()方法检查如果一个集合包含一个给定的对象,使用该.equals()方法来执行比较。

从Java7 Javadoc:

布尔contains(Object o)

如果此集合包含指定的元素,则返回true。更正式地说,当且仅当此集合包含至少一个元素(e == null?e ==
null:o.equals(e))时,返回true。

有没有一种聪明的方法来检查集合是否包含对象o,而是通过引用进行比较(即o==e)?

当然,我可以遍历集合并进行检查,我正在寻找可以做到的现有功能

说明:

  • 无论equals()集合中对象的实现 如何 ,我都想执行此操作。
  • 我既不想更改集合中的对象,也不想更改集合本身。

编辑:

即使我的问题是关于实现的一般解决方案,也应理解子接口的Collection特定情况Collection


问题答案:

对于使用Java
8的我们来说,Collection#stream()是一个干净的选择:

collection.stream().anyMatch(x -> x == key)


 类似资料:
  • 问题内容: 我有两个Hibernate数据对象。第一个是用户(具有唯一的ID,用户名等),第二个是Collaborateable类。在这两者之间存在n对m的关系(带有Set的实现)。这意味着,一个用户使用许多可协作对象,而一个可协作对象具有许多用户。另外,一个可协作对象只有一个用户作为所有者。 我想实现一个Hibernate查询,该查询搜索具有特定用户作为所有者或在Collaborateable.

  • 我想检查像下面这样的JSON对象中的某个键是否包含某个值。假设我想检查任何对象中的键“name”是否具有值“blofeld”(这是真的)。我怎么能那样做?

  • 本文向大家介绍检查Java HashSet集合是否包含另一个Collection,包括了检查Java HashSet集合是否包含另一个Collection的使用技巧和注意事项,需要的朋友参考一下 若要检查HashSet是否包含另一个,请使用方法。 设置第一个HashSet 设置第二个HashSet 现在检查 以下是检查Java中的HashSet集合是否包含另一个Collection的示例 示例 以

  • 我有一个具有如下结构的集合对象: 我该怎么办?非常感谢,很抱歉我的英语不好!

  • 问题内容: 我要实现以下功能: 如何检查向量元素类型? 请注意, 向量可能为空,因此我无法检查第一个元素是“ instanceof”整数还是String … 编辑: 好吧,我脑子里有个念头,我不知道它是否会起作用 我可以按以下方式实现checkType函数: 是否可以检查T是否为整数?! 提前致谢 问题答案: *由于 类型擦除, *泛型类型参数 在运行时不可恢复(某些特殊情况除外)。这意味着在运行

  • 这是一个简化的示例,但假设我想在100x100网格上生成5个唯一位置。这些位置将存储在数组[[x, y],…]中。 尝试了生成随机 x 和 y 并检查数组 [x, y] 是否已经在结果数组中的明显方法。如果是,则生成不同的值,如果不生成,则将其添加到结果数组中。 但是,这将永远不会找到重复项,因为数组在技术上是不同的对象。那么,检测数组是否包含“相等”数组/对象的首选方法是什么?