问题标签 [scala-collections]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 过滤器的Scala集合类型
假设您有一个 List(1,"1"),它的类型是 List[Any],这当然是正确的和预期的。现在,如果我像这样映射列表
结果类型是 List[Int] 也是预期的。我的问题是是否存在与过滤器映射的等效项,因为以下示例将生成 List[Any]。这可能吗?我认为这可以在编译时解决,可能不是运行时?
scala - 将 Scala Set 转换为 Java (java.util.Set)?
我在 Scala 中有一个 Set(我可以在创建 Set 时选择任何实现。我正在使用的 Java 库需要一个 java.util.Set[String]。
以下是在 Scala 中执行此操作的正确方法(使用 scala.collection.jcl.HashSet#underlying):
它似乎正在工作,但由于我对 Scala 很陌生,我想知道这是否是首选方式(我尝试的任何其他方式都会收到类型不匹配错误):
generics - 扩展 Scala 集合
我想要一个尝试覆盖现有键的值的 Map。我试过了:
并得到:
我对 Scala 很陌生,无法找到克服这个问题的方法。有什么帮助吗?:)
编辑:我正在使用 Scala 2.8.0.Beta1-prerelease (这给 scala.collection 带来了一些变化)
scala - 在 Scala 中反转地图的优雅方法
目前正在学习 Scala,需要反转一个 Map 来做一些反转的 value->key 查找。我一直在寻找一种简单的方法来做到这一点,但只想出了:
有人有更优雅的方法吗?
scala - Scala中的等式关系
我刚刚偶然发现了 Tony Morris 的一篇关于 Java 的博客文章以及该语言的一个基本问题:为集合定义定制的相等关系。我认为这是一件大事,并想知道是否有一些 scala 解决方案。
经典问题体现在对交易的思考中。假设我进行了两次 +100 沃达丰股票 @150p 的交易。这两个交易是平等的,是吗?除了他们不是同一个行业。在一个正常的现实世界系统的情况下,具有持久性或序列化,我不能依靠身份来告诉我两个引用是否指向同一个交易!
所以我想要的是能够创建一个集合,我可以将 Equality-relation 传递给:
我将如何以有效的方式实现我的集合(除非EqualityRelation
还定义了一种hash
机制)?
所以问题是:
- 有没有提供这种能力的图书馆?
- 有没有办法在 Scala 中巧妙地做到这一点?
似乎使用隐式,添加到现有的 scalaSet
类型将是一件很容易的事情。
java - scala 2.8 隐含 java 集合转换
我对 2.8 beta 的 JavaConversions 有疑问:
然后异常:
scala - 从 mutable.Map 到 immutable.Map 的 O(1) 转换?
有没有办法在 O(1) 时间内将可变 Map 转换(包装)为不可变(也就是说,不是通过复制值,而是类似于在 JavaConversions 中所做的)
scala - 查找和返回的最佳 scala 成语
这是我经常遇到的事情,但我不知道优雅的做法。我有一个 Foo 对象的集合。Foo 有一个 bar() 方法,它可以返回 null 或 Bar 对象。我想扫描集合,调用每个对象的 bar() 方法并在第一个返回实际引用时停止并从扫描中返回该引用。
明显地:
foos.find(_.bar != null).bar
做的伎俩,但调用#bar 两次。
arrays - 在 Scala 中创建和填充二维数组
在 Scala 中创建预填充二维数组的推荐方法是什么?我有以下代码:
如何制作数组而不是列表?用 .toArray 替换 .toList 不会编译。有没有比嵌套的 for 表达式更简洁或可读的方法呢?
scala - 使用谓词从 scala 可变映射中删除元素的正确方法是什么
如何在不创建任何新集合的情况下做到这一点?还有比这更好的吗?
Scala 2.8 中的 PS