我有一个案例课
case class ApiCall(a: String, b: String, c: String, d: String, e: String, f: String)
我也有一个可变的Set: private var apiCalls: mutable.Set[ApiCall] = mutable.Set[ApiCall]()
问题是,我可能得到以下ApiCall
元素:
ApiCall(a1, b1, c1, d1, e1, f1)
ApiCall(a1, b1, c1, d2, e2, f2)
仅当不存在的唯一组合时(a, b, c)
,才需要向集合中添加元素case class ApiCall
。我无法修改case类本身,因为它已在多个地方使用。
是否可以仅通过查看某些字段而不是全部字段来将案例类元素添加到集合中?
我使用一个小的解决方法解决了它:
private var _apiCalls: mutable.Set[ApiCall] = mutable.Set[ApiCall]()
是我设置的ApiCall
小号
我编写了一个仅(a, b, c)
在Set中不存在3个零件键的情况下才会添加到set的函数:
def addApiCall(e: X): Unit = {
val m = _x.find(m => m.a == e.a && m.b == e.b && m.c == e.c)
if (m.isEmpty)
_x += e
}
我在这Set
两个元素中都不会有太多元素,因此我发现这种方法更容易处理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句