scala 学习

Posted longjmp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala 学习相关的知识,希望对你有一定的参考价值。

创建map,并向map添加元素

val idMap = Map(
      "group_id" -> "GID",
      "sim_id" -> "SIM_ID",
      "list_sim_id" -> "LIST_SIM_ID"
    )
idMap += (
"foo" -> "bar")

 

关键字Option, Some, None

https://blog.csdn.net/JasonDing1354/article/details/46788787

  def option_some_test(){
    val none_maps = None
    val res = none_maps.getOrElse("jack", "XXXXXXXXXXXX")
    println(res, res.getClass()) // res 是一个tuple,(jack, XXXXXXXXXXXX), 返回 ((jack,XXXXXXXXXXXX),class scala.Tuple2)
    
    var maps = Map("jack"->"A", "tom"->"B", "rose"->"C")
    println(maps.get("xxx"))                // 返回None
    println(maps.get("jack").get)           // 返回"A"
    println(maps.get("jack"))               // 返回 Some(A)
    println(maps.get("jack") == "A")        // 返回 false
    println(maps.get("jack") == Some("A"))  // 返回 true
    maps += ("bob" -> "bbbbbbbbbbbbbb")     // 添加元素,返回  Map(jack -> A, tom -> B, rose -> C, bob -> bbbbbbbbbbbbbb)
    print(maps)

    val param:Option[Map[String, String]] = Some(maps)
    println(param.get.get("xxx"))       // 先把map拿出来,再get("xxx")就会返回None
    println(param.get.get("jack").get)  // 返回 "A"
    println(param.get.get("jack"))      // 返回 Some(A)
    println(param.get("jack"))          // 注意,直接返回"A"
    println(param.get("xxx"))           // 直接用Some(maps).get("xxx")会抛异常 java.util.NoSuchElementException: key not found: xxx
  }

 

scala 中 Seq 和 List 的区别

在Java术语中,Scala的Seq将是Java的List,Scala的List将是Java的LinkedList。


以上是关于scala 学习的主要内容,如果未能解决你的问题,请参考以下文章

Programming In Scala笔记-第二三章

初学scala4——trait混入

Scala附加列表

scala编程——函数和闭包

详解 Scala 模式匹配

在Scala项目中使用Spring Cloud