我有一个方法,该方法需要一个OrderedSet
类型的对象A
X 和一个OrderedSet
Y 对象{1}}类型为B的对象。(嵌套)
此方法然后根据给定的两个集合返回OrderedSets
的新OrderedSet
Z 。
基本上,我给该方法两个集合,并且该方法给我返回连接,就像函数的数学定义一样。
因此,如果要建立双射连接,则必须确保两个集合的大小相等,并且我不希望在任何地方都存在空对象。
问题是,这些集合将任意大,而我想做的是:
我为获得想要的东西而做的事情:
Edges
作为具有附加属性的HashSet实现,并且我只使用O(1)的Contains检查空元素(我不确定这是否是一个好的解决方案)OrderedSet
拒绝添加OrderedSet
对象,但这不会改变在添加元素后将集合中的元素更改为 并将其设置为null的可能性。方式我考虑过的:
我的目标: 为参数验证提供一种可读但有效的解决方案。 谢谢您的宝贵时间,如果我说的话不太正确,请随时纠正我。