当前位置: 首页 > news >正文

网站设计与实现作业只有企业自己建立网站平台进行

网站设计与实现作业,只有企业自己建立网站平台进行,泉州微信网站开发,珠海正规网站制作哪家好和 Java 一样,Scala 也有表示键值对(Key-Value)集合的 Map 数据结构。同样,Map 也分不可变和可变,不可变需要使用类 scala.collection.mutable.Map。 1 不可变 Map 可以使用以下语法定义不可变 Map 对象 val/var ma…

和 Java 一样,Scala 也有表示键值对(Key-Value)集合的 Map 数据结构。同样,Map 也分不可变和可变,不可变需要使用类 scala.collection.mutable.Map

1 不可变 Map

可以使用以下语法定义不可变 Map 对象

val/var map = Map(key1 -> value1, key2 -> value2, key3 -> value3, ...)   // 推荐,可读性好
val/var map = Map((key1, value1), (key2, value2), (key3, value3), ...)

下面例子,定义了一个球员与身价的 Map,并获取其中一名球员的身价,如果获取的 key 不存在,则会抛出 NoSuchElementException

scala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: Map[String, Int] = Map(C朗 -> 1500000, 美斯 -> 21000000, 夏兰特 -> 150000000, 姆总 -> 120000000)scala> map("美斯")
val res6: Int = 21000000scala> map("武磊")
java.util.NoSuchElementException: key not found: 武磊at scala.collection.immutable.Map$Map4.apply(Map.scala:515)... 35 elided

2 可变 Map

使用 scala.collection.mutable.Map 类,可实现可变 Map 集合,语法跟不可变 Map 一致:

scala> import scala.collection.mutable.Mapscala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美 斯 -> 21000000)scala> map("夏兰特")
val res8: Int = 150000000scala> map("武磊")
java.util.NoSuchElementException: key not found: 武磊at scala.collection.MapOps.default(Map.scala:274)at scala.collection.MapOps.default$(Map.scala:273)at scala.collection.AbstractMap.default(Map.scala:405)at scala.collection.mutable.HashMap.apply(HashMap.scala:425)... 35 elidedscala> map("武磊") = 1000000scala> map("武磊")
val res10: Int = 1000000

3 Map 的基本操作

3.1 获取值

获取 Map 集合中的值可以使用以下两种方式:

(1) 使用表达式 map(key),当 key 不存在会抛出 NoSuchElementException
(2) 使用 getOrElse(key, defaultValue) 方法

例如:

scala> import scala.collection.mutable.Mapscala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美 斯 -> 21000000)scala> map.getOrElse("武磊", 500000)
val res11: Int = 500000

3.2 获取所有 key

通过 keys 属性,可以获取 Map 集合中的 key 集合,这个集合为 Set 类型:

scala> import scala.collection.mutable.Mapscala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美 斯 -> 21000000)scala> map.keys
val res12: Iterable[String] = Set(夏兰特, C朗, 姆总, 美斯)

3.3 获取所有 value

通过 values 属性,可以获取 Map 集合中的 value 集合:

scala> import scala.collection.mutable.Mapscala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美 斯 -> 21000000)scala> map.values
val res13: Iterable[Int] = Iterable(150000000, 1500000, 120000000, 21000000)

3.4 遍历 Map 对象

使用 for 可以遍历 Map 对象:

scala> import scala.collection.mutable.Mapscala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美 斯 -> 21000000)scala> for((player, price) <- map) {|     println(s"${player}身价为${price}")| }
夏兰特身价为150000000
C朗身价为1500000
姆总身价为120000000
美斯身价为21000000

3.5 增加键值对并返回新的 Map

使用运算符 + 可以在原 Map 对象基础上增加新的键值对,并返回新的 Map 对象。

下面的例子,使用 + 添加了新的 (key,value),并返回新的 Map 对象,原来的 Map 对象不变:

scala> import scala.collection.mutable.Mapscala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美 斯 -> 21000000)scala> val map1 = map + ("韦世豪" -> 600000)
val map1: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美斯 -> 21000000, 韦世豪 -> 600000)scala> map
val res16: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000,  美斯 -> 21000000)scala> map1
val res17: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000,  美斯 -> 21000000, 韦世豪 -> 600000)

3.6 刪除键值对

  • 使用运算符 - 可以从原 Map 对象删除指定的键值对,并返回新的 Map 对象,原来的 Map 对象不变。
scala> import scala.collection.mutable.Mapscala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美 斯 -> 21000000)scala> map - "姆总"
val res18: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 美斯 -> 21000000)scala> map
val res19: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000,  美斯 -> 21000000)
  • 如果想从 Map 对象删除指定的键值对,则可使用 remove 方法:
scala> import scala.collection.mutable.Mapscala> val map = Map("C朗"->1500000, "美斯"->21000000, "夏兰特"->150000000, "姆总"->120000000)
val map: scala.collection.mutable.Map[String, Int] = HashMap(夏兰特 -> 150000000, C朗 -> 1500000, 姆总 -> 120000000, 美 斯 -> 21000000)scala> map.remove("夏兰特")
val res22: Option[Int] = Some(150000000)scala> map
val res23: scala.collection.mutable.Map[String, Int] = HashMap(C朗 -> 1500000, 姆总 -> 120000000, 美斯 -> 21000000)
http://www.yayakq.cn/news/590055/

相关文章:

  • 分销系统方案wordpress安全优化教程
  • 分析苏宁易购的网站建设WordPress不能搜索媒体库
  • 开发网站做什么开公司流程及费用2022最新
  • 乡镇门户网站建设优化型网站建设的基本要求
  • 建设wap手机网站购物平台大全
  • 黑龙江省城乡建设厅网站首页建网站自己与租云服务器哪个好
  • 集团公司网站推广方案怎么做建设企业网站e路护航
  • 财经资讯网站该怎么做推广网站需要什么
  • 前端网站设计吉林网站建设代理渠道
  • 福州网站微信公众号建设网站需要多大域名空间
  • 怎样做投资与理财网站如何利用问答类网站做推广
  • 怎么让做的网站赚钱吗电子商务网站建设工具
  • 网站前台模块包括什么软件招商网站的建设目的
  • 顺德家居企业网站建设网站建设内部风险分析
  • 玉树营销网站建设公司能帮忙做网站建设
  • 潍坊网站建设套餐施工企业qc小组
  • 免费推广网站大全百度手机助手app下载
  • 前端和后端哪个累刷关键词优化排名
  • ppt制作网站推荐最新郑州发布
  • 响应式网站是什么网站建设一般满足什么需求
  • wordpress建站教程百科做渲染的网站
  • 佛山做网站优化网站建设国内公司
  • 网站备案通知毕业设计网站源码
  • 网站整体运营思路手机营销网站
  • 企业网站怎么做html网站域名变更
  • 网站如何推广运营流量网站应该怎么做
  • 如何制作有关西安的网站建设工程公开招标网站
  • 工商局网站建设查不到网络营销策划方案的设计
  • lnmp网站开发网站建设网页与数据库连接
  • 连江厦门网站建设公司网站注册和进入asp