val mu = scala.collection.mutable.Map(1->"one",2->"two") //可变map println(im,manOf(im)) println(imh,manOf(imh)) println(mu,manOf(mu)) //mutable.Map to immutable.Map val mui = mu.toMap println(mui,manOf(mui)) //
Scala 的集合有三大类:序列 Seq、集 Set、映射 Map,所有的集合都扩展自 Iterable 特质,在 Scala 中集合有可变(mutable)和不可变(immutable)两种类型。 1.Set、Map 是Java中也有的集合。 2.Seq是 Java 没有的,我们发现 List 归属到 Seq 了,因此这里的 List 就和 java 不是同一个概念了。 3.我们前面的 f...
例如:collection.IndexedSeq[T]] 就是 collection.immutable.IndexedSeq[T] 和collection.mutable.IndexedSeq[T]这两类的超类。scala.collection包中的根集合类中定义了相同的接口作为不可变集合类,同时,scala.collection.mutable包中的可变集合类代表性的添加了一些有辅助作用的修改操作到这个immutable 接口。 根集合类...
scala> val xMap=new scala.collection.mutable.HashMap[String,Int]() xMap: scala.collection.mutable.HashMap[String,Int] = Map() //往里面填充值 scala> xMap.put("spark",1) res12: Option[Int] = None scala> xMap res13: scala.collection.mutable.HashMap[String,Int] = Map(spark -> 1) /...
mutable HashMap immutable HashMap 集合在程序中是非常有用的,只有用好集合才能真正感受到该语言的魅力。在scala中集合主要在三个包里面:scala.collection, scala.collection.immutable和scala.collection.mutable。 scala中引入不可变集合是为了方便程序的使用并减少在程序中的未知风险。如果一个集合被定义为不可变的,那...
问如何在Scala中将immutable.Map转换为mutable.Map?EN在编程中,有时我们需要将数字转换为字母,例如将...
scala> map += (3->"z") res0: map.type = Map(2 -> y, 1 -> x, 3 -> z) mutable集合与immutable集合的区别也很好理解,mutable内容可以修改,而immutable集合初始化之后,内容是不能修改的 scala> val map = scala.collection.immutable.Map(1->"x", 2->"y") ...
scala.collection.mutable的层次结构如下: image.png 接下来我们通过两个HashMap的例子来看一下immutable和mutable的使用。 mutable HashMap 我们看下怎么定义一个mutable hashMap : 代码语言:javascript 代码运行次数:0 运行 AI代码解释 importscala.collection.mutable.HashMapprintln("\nStep 1: How to initialize a...
比如api接口返回一个set,不期望调用方不小心去修改了返回结果,破坏结果集,这个时候immutable就派上用场了。另外immutable在多线程并发的时候比较提倡,这样可以减少错误率。至于mutable的,函数式编程里头不建议用。 有用 回复 撰写回答 你尚未登录,登录后可以 和开发者交流问题的细节 关注并接收问题和回答的更新提醒 ...
默认情况下,Scala 使用的是不可变集合,如果你想使用可变集合,需要引用scala.collection.mutable.Set包。 默认引用 scala.collection.immutable.Set,不可变集合实例如下: 实例 valset=Set(1,2,3) println(set.getClass.getName)// println(set.exists(_%2==0))//true ...