问题标签 [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 collection.Map 无法添加到
为什么我不能添加到一个scala.collection.Map
?如果没有此功能,这似乎trait
毫无用处。
难道他们不能重写++
in 方法Iterable
并将返回类型减少到 aMap
吗?
PS我并不是说它应该是mutable,只是它应该能够返回一个Map
带有添加映射(或映射)的 new ,与immutable.Map
.
scala - Scala中的聚合列表值
从包含两个参数 notional 和 currency 的对象列表开始,如何汇总每种货币的总名义值?
鉴于:
我怎样才能得到:
scala - 如何从 java.util.Map 转换为 Scala Map
Java API 返回一个java.util.Map<java.lang.String,java.lang.Boolean>
;。我想把它放到一个Map[String,Boolean]
所以想象我们有:
你不能这样做Map.empty ++ javaMap
,因为 ++ 方法不知道 Java 映射。我试过了:
和:
由于泛型,这些都无法编译 -java.lang.String
与 scala String 不同。
除了手动复制地图之外,有没有一种好的方法可以做到这一点?
编辑:谢谢,所有好的答案,我从他们所有人那里学到了很多。但是,我在这里发布了一个比我实际遇到的问题更简单的问题,这是一个错误。所以,如果你允许我,我会概括这个问题 - API 实际返回的是
我需要把它移到 Map[String, Map[SomeJavaEnum,String]]
它可能看起来不太复杂,但它增加了额外的类型擦除级别,我发现将它移动到 Scala 映射的唯一方法是深度复制它(使用您在下面建议的一些技术) . 任何人有任何提示?我通过为我的确切类型定义一个隐式转换来解决我的问题,所以至少丑陋隐藏在它自己的特征中,但仍然感觉有点笨拙的深度复制很多。
scala - scala Iterable#map 与 Iterable#flatMap
map
和的flatMap
功能有什么区别Iterable
?
java - 从 Scala 中的 java.util.Set 构造一个 java.util.List
我想创建一个基于另一个 java 集合的 java 列表,例如。设置在 Scala 中。
为什么这是不可能的?我得到一个 required: scala.this.Int 错误。
然而,这有效,但感觉不对:
谢谢!
list - Scala best way of turning a Collection into a Map-by-key? (2nd variant)
(This is a variant to this Q&A)
Say I have this:
I want to create a Map for which the key is the length of the String and the value is a Collection of all the Strings that have that length. In other words, given the about List, we'd get:
The code I've written to do this is:
This works, but it adds a lot of ugliness to the elegant answer Daniel Spiewak provided to the original question (referenced above).
Any ideas how to improve the solution for my variant?
Thanks! Sean
scala - 在 Scala 中使用 JDOQL 结果
我正在尝试将 JDO 与 Google App Engine 和 Scala 一起使用。执行返回的 api Object
(但它实际上是一个 java 集合),我想将它放入一个 scala 列表中以对其进行迭代。
到目前为止,我的代码如下所示:
此时的编译错误是toArray is not a member of Object。执行上述操作的最佳方法是什么?我尝试使用.asInstanceOf[java.util.Collection[User]]
,但尝试失败。
arrays - 如何在 Scala 数组上使用 Java Collections.shuffle()?
我有一个要随机排列的数组。在 Java 中,有一个方法 Collections.shuffle() 可以随机打乱 List 的元素。它也可以在数组上使用:
我尝试在 Scala 数组上使用它,但 Scala 解释器给出了一个冗长的答案:
这里到底发生了什么?我不想用特殊标志(-Xno-varargs-conversion)编译我的代码,如果那是解决方案的话,正因为如此。
那么,如何在 Scala 数组上使用 Java 的 Collections.shuffle() 呢?
与此同时,我在 Scala 中编写了自己的 shuffle 方法:
它在适当的位置打乱数组,并为方便起见返回数组本身。
scala - Scala:如何合并地图集合
我有一个 Map[String, Double] 列表,我想将它们的内容合并到一个 Map[String, Double] 中。我应该如何以惯用的方式做到这一点?我想我应该可以通过弃牌做到这一点。就像是:
此外,我想以通用方式处理键冲突。也就是说,如果我向已经存在的映射添加一个键,我应该能够指定一个返回 Double 的函数(在这种情况下)并获取该键的现有值,加上我试图添加的值. 如果映射中尚不存在该键,则只需添加它并且其值不变。
在我的具体情况下,我想构建一个 Map[String, Double] ,这样如果地图已经包含一个键,那么 Double 将被添加到现有的地图值中。
I'm working with mutable maps in my specific code, but I'm interested in more generic solutions, if possible.
scala - Scala不可变的SortedSet在删除时不是“稳定的”
我必须处理 scala 2.7.5 中的不可变对象,它的成员之一是不可变的 Sortedset。我对加法没有问题,综合起来,它给出:
它可以工作,因为 + 运算符在 trait sortedSet 中是重载的,以返回一个 SortedSet。
不幸的是,删除元素失败,因为 - 方法没有重载:
有谁知道当我抑制一个元素时我如何获得一个排序集: - 我不想使用像 TreeSet 这样更具体的集合。- 我不能使用不太具体的特征作为 Set[A] 而不是我的 SortedSet。