【问题标题】:Creating a Union of multiple sets which is affected by changes in original sets创建受原始集合更改影响的多个集合的并集
【发布时间】:2014-04-26 23:29:35
【问题描述】:

对于作业,我必须编写一个方法,将多个集合组合成一个集合并返回它。

这很容易,但是接口指定返回的集合应该由集合组支持,也就是说,对其中一个子集进行更改会影响overset。

通过创建一个 Set 并在每个子集上使用 .addAll(),这会产生所需的行为吗? Javadoc 没有说明它是浅拷贝还是深拷贝。

【问题讨论】:

  • 嗯,你可以试试...
  • 我可以,但距离让程序进入可测试状态还有几个小时。我现在想问,当我看到问题时,在我把自己逼到角落之前,让人们有时间权衡。
  • 这两篇文章都没有说明生成的联合是否会受到子集的影响。我能想到的唯一其他方法是向我的班级添加一个额外的集合,并修改我的添加和删除以在该集合中添加和删除。但这感觉非常笨拙。
  • 这是您可以在单独的 10 行测试程序中在 5 分钟内测试的内容。

标签: java set union


【解决方案1】:

对于发现此问题的任何其他人,答案是否定的,如果您使用了标准库中的 .addAll(),则更改子集不会影响超集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-04
    • 2013-06-27
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多