问题标签 [mutablemap]

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.

0 投票
1 回答
191 浏览

scala - 带有 mutable.HashMap 的堆空间

我正在生成一个 HashMap ,我可以在其中估计阶乘所需的大小:

我经常按升序请求素数的阶乘(fak),并且喜欢达到相当高的值(> 10 Mio 阶乘)。

使用大约 70000 调用它会导致 OutOfMemory-Error: Java Heap Space。我开始了这个程序

以 60000 作为参数,它可以工作。我猜,它构建了 70000 个 MutableMap,它们经常被丢弃和垃圾收集。由于我事先知道所需的大小,是否可以从一开始就生成正确大小的 mutableMap?

该错误在 mm.getOrElseUpdate - 行中引发。

版本:Scala 版本 2.11.6(OpenJDK 64 位服务器 VM,Java 1.8.0_66-internal)

0 投票
0 回答
530 浏览

scala - 枚举作为 Scala 中可变映射的关键

我正在尝试如何在 Scala 中找出和使用以枚举为键的映射。看这个问题,我可以实例化地图,但是当我尝试就地更新地图时,出现类型不匹配错误。这里发生了什么?

抛出:

如果我做同样的事情,但使用例如字符串作为键类型,这将按预期工作。

编辑:在 spark-shell 中使用 scala 时会出现这些问题,而不是正常的 scala repl。

0 投票
1 回答
376 浏览

json - 将包含包含 mutableMap 的对象的案例类转换为 json 并使用提升返回

我有一个案例类:

我正在使用 net.liftweb.json._ 将其转换为 json :

Json作为

在将我的 json 转换回购物车对象时:

我得到了这个例外。

[错误] [12/22/2016 17:11:23.784] [System-akka.actor.default-dispatcher-3] [akka://System/user/68eb787f-746c-4320-9ef4-8b5c7f0d7e21] 没有可用值对于cart_entries 类型接口没有构造函数 scala.collection.mutable.Map, JArray(List(JObject(List(JField(_1,JString(ABC))), JField(_2,JObject(List(JField(sku_id,JString(ABC))) , JField(quantity,JInt(12)), JField(price,JDouble(213.0)))))))) net.liftweb.json.MappingException: Cart_entries 没有可用值 没有类型接口 scala.collection.mutable 的构造函数.Map, JArray(List(JObject(List(JField(_1,JString(ABC))), JField(_2,JObject(List(JField(sku_id,JString(ABC))), JField(数量,JInt(12)), JField (价格,JDouble(213.0)))))))) 在 net.liftweb.json.Meta$.fail(Meta.scala:191) 在 net.liftweb.json.Extraction$.mkValue$1(Extraction.scala:357) 在 net.liftweb.json.Extraction$.net$liftweb$json$Extraction$$build$1(Extraction.scala:317) 在 net.liftweb.json.Extraction$$anonfun$14.apply(Extraction.scala:253 ) 在 net.liftweb.json.Extraction$$anonfun$14.apply(Extraction.scala:253) 在 scala.collection.immutable.List.map(List.scala:27​​7) 在 net.liftweb.json.Extraction$.instantiate $1(Extraction.scala:253) at net.liftweb.json.Extraction$.newInstance$1(Extraction.scala:286) at net.liftweb.json.Extraction$.net$liftweb$json$Extraction$$build$1(Extraction .scala:315) 在 net.liftweb.json.Extraction$.net$liftweb$json$Extraction$$extract0(Extraction.scala:366) 在 net.liftweb.json.Extraction$.net$liftweb$json$Extraction$ $extract0(Extraction.scala:199) 在 net.liftweb.json.Extraction$.extract(Extraction.scala:43) 在网络。liftweb.json.JsonAST$JValue.extract(JsonAST.scala:312) at net.liftweb.json.Serialization$.read(Serialization.scala:58) at 我该怎么办?

0 投票
2 回答
17961 浏览

arrays - Kotlin 基础知识:如何添加或设置 Map 的元素?

我想添加/设置具有特定键值对的可变映射的元素。到目前为止,我发现我可以使用加号运算符和 Pair 数据类型添加新元素:

但是,我不知道如何修改或添加新的键值对:

你能详细说明我该怎么做吗?

0 投票
1 回答
135 浏览

scala - 如何更新Scala中LinkedHashMap中键集的每个值,具有LinkedHashMap [Int,ListBuffer [Int]]?

我有一个 LinkedHashMap 类型:

我想在每个键的每个列表中添加一个元素,假设我想添加“6”以便拥有:

我该怎么做呢?

0 投票
1 回答
1242 浏览

types - 复杂的 MutableMap 类型

我在这里有点困惑。

所以,我有一个 mutableMap 类型

val converters = mutableMapOf<String, Pair<KFunction<ElemBase>, x>>()

我想不通的地方x

我需要根据构造函数和方法向此映射添加几对,例如:

converters["Camera"] = ::Camera to Structure::convertCamera

其中第一个字段是对扩展构造函数的引用ElemBase,例如:

Camera : ElemBase

第二个是Structure引用可空ElemBase类的类上的方法:

fun convertCamera (dest: KMutableProperty0<Camera?>)

什么时候x

KFunction<*>有效,但我需要更具体的东西,在哪里Receiver定义参数。

我尝试了几次尝试,例如

KFunction<Structure.(KProperty1<Structure, ElemBase>) -> Unit>

或者

KFunction<(KMutableProperty0<ElemBase>) -> Unit>

或者

KFunction<Structure.(KMutableProperty0<ElemBase?>) -> Unit>

每当我尝试添加任何内容时,我总是会出错converters

但到目前为止还没有运气

有趣的是,如果我分配::Camera to Structure::convertCamera给一个变量,我会得到以下类型: Pair<KFunction0<ElemBase>, KFunction2<Structure, @ParameterName KMutableProperty0<ElemBase>, Unit>>

但我也KFunction0没有KFunction2......这到底是什么?

编辑:找到这个

Edit2:如果我手动导入KFunction0KFunction2它似乎不再抱怨它们了。但如果我点击它们,它无法解决..

我尝试手动导入KFunction0KFunction2,复制我在将这对分配给 a 时看到的类型var,看起来这是有效的:

val converters = mutableMapOf<String, Pair<KFunction0<Camera>, KFunction2<Structure, KMutableProperty0<Camera>, Unit>>>()

但不是对应的ElemBase版本:

val converters = mutableMapOf<String, Pair<KFunction0<ElemBase>, KFunction2<Structure, KMutableProperty0<ElemBase>, Unit>>>()

虽然我仍然不明白发生了什么KFunction*,但为什么它们似乎不存在,尽管一旦手动导入,编译器就会接受它们

如果设计有异味,我会在这里移植一些 c++ 代码,如果可能的话,我想坚持原来的结构

Edit3:好的,我可能会改变设计,但出于好奇,我还是想知道发生了什么

0 投票
1 回答
933 浏览

kotlin - Kotlin 对字符串的可变映射进行排序

为什么我不能对字符串的可变映射进行排序。我的地图声明如下。

它给了我计划对象如下。

{1=[1], 0=[0], 3=[3], 2=[2], 5=[5], 4=[4, 14.07, 16.07, 01.08, 10.08], 6=[6] }

现在对于第 4 天,我将按升序对元素进行排序,最好忽略第一个元素。我希望我的输出如下所示。

{1=[1], 0=[0], 3=[3], 2=[2], 5=[5], 4=[4, 1.08, 10.08, 14.07, 16.07], 6=[6] }

我可以访问所需的日期,schedule.schedule["4"]?.sorted() 但这无济于事。我厌倦了将字符串转换为整数,但仍然没有运气。

0 投票
0 回答
107 浏览

swift - Kotlin 和 swift 全地图导航速度

当您需要导航整个地图时,我试图了解在 kotlin(和 swift)中导航地图的最佳方式是什么。两种语言都提供了一个 .values 方法,使导航更简单,但在 C++ 背景下,我认为它无法以体面的方式执行,因为它应该创建一个带有地图附加导航的值向量(以及相关的内存分配) .

基本上我的问题是关于这段代码:

...我已经对此代码进行了一些基准测试,使用 System.currentTimeMillis() 对结果进行计时并使用一两个不同的地图,以避免缓存效果...

但我无法得到有意义的结果......这是一个完整的 kotlin native 程序,它显示(与 JVM 上的 kotlin 不同)一种与我预期相反的行为,我使用了两个不同的映射和每个算法的两个测试来排除缓存优势。

0 投票
1 回答
39 浏览

kotlin - Kotlin:为什么 val b (Map) 会在迭代中发生变化,即使动作发生在 do-while 循环中的另一个 var a 上?

为什么这样的代码只出现在一次迭代中?为什么在迭代结束前赋值后“b”与“a”同时变化?

我做了一个类似的代码,其中 (a) 和 (b) 是整数,然后 (b) 直到下一次迭代才会改变。为什么它与 Map 的行为不同?

0 投票
1 回答
142 浏览

guava - Guava 图形库 ElementOrder on Edges 而不是 Nodes

我使用Guava Graph 库有这个直截了当的Graph 结构,如果可以对(而不是顺序)进行排序,我想更好地理解。为了澄清:adjacents/edgesnode

我的结果是:

废话不多说,我的意思是:

使用.nodeOrder(ElementOrder.insertion())它可以对节点本身进行排序。尽管如此,我对edges与给定关联的排序node方式更感兴趣,如果我putEdge分别使用 fromAB, C, D, E结果正是这个而不是上面显示的。

有什么见解吗?

提前致谢。