【问题标题】:The **equals** in Set interfaceSet界面中的**等于**
【发布时间】:2009-06-29 07:46:29
【问题描述】:

我们知道两个 Set 实例是相等的)?

【问题讨论】:

  • 我不明白这个问题。
  • 请改写,可能带有代码示例。
  • 我们使用**相同的元素**来表示相等,但据我所知,Set接口中没有重复元素。那么我们如何使用相等操作???
  • 两个不同的集合可以包含相同的元素,如果这就是您的要求。如果不是,请尝试更有意义。

标签: java collections set


【解决方案1】:

不同的集合相互之间没有影响。集合 A 可以包含“123456”,集合 B 也可以包含“123456” - 禁止重复是针对单个实例,而不是跨实例。

两个集合的相等意味着它们的内容是相同的。

【讨论】:

  • 定义“平等”会带来各种各样的问题。我相信 java.uti.set 子类都使用 objects .equals 方法来检查一个对象是否等于另一个。定义它的另一种方法是在 Java 中使用 == 运算符,我相信 .equals 方法默认使用它,除非它被覆盖。甚至不用讨论 Bertrand Russels 集合论悖论,就需要考虑集合的许多微妙之处。
【解决方案2】:

您不是在比较 Set 中的元素以检测它们是否相等,而是将 Set1 的元素与 Set2 的元素进行比较。

【讨论】:

    【解决方案3】:

    equals 方法描述得很好here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 2018-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多