【问题标题】:What is the best way to find and replace element in immutable set in Scala?在 Scala 中查找和替换不可变集中元素的最佳方法是什么?
【发布时间】:2020-06-27 17:53:55
【问题描述】:

我有一些不可变的集合。每个集合元素都是一组 Ints,这些 Ints 是唯一的。 例如,我有 Set(Set(1,2,3),Set(4,5,6),Set(7))。我需要找到一个包含 3 的内部 Set,并用更新的 Set(1,2,3,10) 替换此 Set 以获得 Set(Set(1,2,3,10),Set(4,5, 6),集合(7))。

我不想用递归构造一些大代码块,我想知道我是否有机会用组合器、映射、函数来做(不是以命令的方式,而是使用 Scala 语言的高级抽象)

【问题讨论】:

  • 你试过什么?这应该通过简单的map + contains + + 来完成。

标签: algorithm scala collections immutability combinators


【解决方案1】:

类似:

val outerSet = Set(Set(1,2,3),Set(4,5,6),Set(7))
outerSet.map { innerSet =>
  if (innerSet.contains(3)) innerSet + 10
  else innerSet
}

?

【讨论】:

    猜你喜欢
    • 2022-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 2011-03-21
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多