【发布时间】:2012-10-29 18:51:12
【问题描述】:
您能否分享在 Scala 中基于多个数组/另一个集合中的项目的完整迭代创建不可变集合的任何好的解决方案?
例如在 Java 中你可以使用:
List<String> signals = ...;
List<SignalState> states = ...;
List<SignalAndState> result = new ArrayList<~>(signals.size() * states.size());
for (String signal: signals) {
for (SignalState state: states) {
// some if() condition or process() function can be here
result.add(new SignalAndState(signal, state))
}
}
使用 Scala 构建这样的东西的最佳实践是什么? 我认为,相同的方法(在 for() 中使用 for())是个坏主意,并且与 Scala 语言的对象功能性质完全不兼容。
【问题讨论】:
-
你计算的基本上是两个序列的笛卡尔积。见stackoverflow.com/questions/8217764/… 或anders.janmyr.com/2009/10/lists-in-scala.html
标签: java scala collections