加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 如何从seq创建一个不可变的地图/集合?

发布时间:2020-12-16 09:43:05 所属栏目:安全 来源:网络整理
导读:我试图从Seq构建不可变的集合/地图。我目前正在做以下工作: val input: Seq[(String,Object)] = //.....Map[String,Object]() ++ input 和套 val input: Seq[String] = //.....Set[String]() ++ input 这似乎有点复杂,有更好的方法吗? 解决方法 在Scala 2
我试图从Seq构建不可变的集合/地图。我目前正在做以下工作:

val input: Seq[(String,Object)] = //.....
Map[String,Object]() ++ input

和套

val input: Seq[String] = //.....
Set[String]() ++ input

这似乎有点复杂,有更好的方法吗?

解决方法

在Scala 2.8:

Welcome to Scala version 2.8.0.r20327-b20091230020149 (Java HotSpot(TM) Client VM,Java 1.6.
Type in expressions to have them evaluated.
Type :help for more information.

scala> val seq: Seq[(String,Object)] = ("a","A")::("b","B")::Nil
seq: Seq[(String,java.lang.Object)] = List((a,A),(b,B))

scala> val map = Map(seq: _*)
map: scala.collection.immutable.Map[String,java.lang.Object] = Map(a -> A,b -> B)

scala> val set = Set(seq: _*)
set: scala.collection.immutable.Set[(String,java.lang.Object)] = Set((a,B))

scala>

编辑2010.1.12

我发现有一种更简单的创建集合的方法。

scala> val seq: Seq[(String,B))

scala> val set = seq.toSet
set: scala.collection.immutable.Set[(String,B))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读