scala学习笔记之集合option

AK47Sonic AK47Sonic     2022-09-06     157

关键词:

object CollectionDemo8 {
  def main(args: Array[String]): Unit = {
    //Option集合的使用,可以用来安全的判断null或非null,放心使用,不会抛出空指针异常
    val s: String = "abcd"
    val sp = Option(s)
    println(sp.isDefined)
    println(sp.isEmpty)
    if (sp == Some("abcd")) { println("Has value") }
    if (Option(null) == None) { println("Has no value") }
    println(List(1, 2, 3, 4, 5).headOption)
    println(List(1, 2, 3, 4, 5).find { x => x == 3 })
    //Option集合提取值
    println(Option("abc").fold("bcd")(x => x))
    println(Option(null).fold("bcd")(x => x))
    println(Option("abc").getOrElse("value"))
    println(Option(null).getOrElse("value"))
    println(
    Option("abc") match {
      case Some(x) => x
      case None => -1
    })
    
    
  }
}

运行结果:

true
false
Has value
Has no value
Some(1)
Some(3)
abc
bcd
abc
value
abc

scala学习笔记之集合

classStudentTTextendsStudentT{defsayBye(name:String,age:Int)(address:String){println("Hello,"+name+":"+age+":"+address)}}objectCollectionDemo3{defmain(args:Array[String]):Unit={vals=newStudentTT()//Cu 查看详情

scala学习笔记之集合

集合的模式匹配操作:objectCollectionDemo5{defmain(args:Array[String]):Unit={//集合模式匹配1valls=List(1,2,3,4,5)println(lsmatch{caseList(1,2,3)=>"List(1,2,3)"caseList(1,2,3,4)=>"List(1,2,3,4)"caseList(1,2,3,4,5 查看详情

scala学习笔记之集合try和future

importutil._importconcurrent.ExecutionContext.Implicits.globalimportconcurrent.Futureimportconcurrent.duration._objectCollectionDemo9{defmain(args:Array[String]):Unit={//Try捕捉异常println(Try(10/0))print 查看详情

scala学习笔记一之基础语法,条件控制,循环控制,函数,数组,集合

...:http://www.cnblogs.com/biehongli/p/8065679.html1:Scala之基础语法学习笔记:1:声明val变量:可以使用val来声明变量,用来存放表达式的计算结果,但是常量声明后是无法改变它的值的,建议使用val来声明常量;声明var变量:如果要声明可以... 查看详情

scala之option类型及偏函数使用异常处理正则表达式

▼Scala系列学习笔记:Scala概述与开发环境配置Scala基础学习之运算符Scala基础学习之for循环和while循环一文掌握scala中的方法和函数Scala基础:类和对象、访问修饰符和构造器Scala的继承和抽象类Scala基础语法之Trait详解Scala... 查看详情

scala学习笔记之函数

1classStudent{23valmySayHello1:String=>Unit=sayHello4valmySayHello2:(String,Int)=>Unit=sayHello5valmyTalkTo=talkTo_6valmyJumpStart:()=>String=jumpStart78defsayHello(name:String)={9println("He 查看详情

kafka学习笔记之producer/consumer(scala)

既然Kafka使用Scala写的,最近也在慢慢学习Scala的语法,虽然还比较生疏,但是还是想尝试下用Scala实现Producer和Consumer,并且用HashPartitioner实现消息根据key路由到指定的partition。Producer:importjava.util.Propertiesimportkafka.producer.ProducerConfi... 查看详情

scala学习笔记之implicit

implicit分为隐式转换和隐式参数,下面例子展现了两种方式的用法:packagecom.citi.scalaclassMan(valname:String){deftalkWith(m:SuperMan){println(s"Talkwith${m.name}")}defSayHello(msg:String)(implicitprefix:String){println(prefix+"," 查看详情

scala学习笔记之函数

1classOldStudentextendsStudent{23deffilterName(s:String,f:String=>String)={4if(s!=null)f(s)elses5}67defmytrim(s:String)=s.trim()89deftalkToAll(p1Name:String,p2Name:String,p3Name:String,fn:(String,S 查看详情

idea学习笔记之scala项目开发

Scala项目开发: 由于直接下载Scalaplugin太慢,老是中断,所以手动下载: https://plugins.jetbrains.com/ 手动安装Scalaplugin:新建ScalaModule: 下载ScalaSDK:http://www.scala-lang.org/download/2.11.6.html  选择Sca 查看详情

scala学习笔记-面向对象编程之trait(13)

将trait作为接口使用1//Scala中的Triat是一种特殊的概念2//首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似3//在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可4//... 查看详情

大数据技术之_16_scala学习_08_数据结构(下)-集合操作+模式匹配(代码片段)

第十一章数据结构(下)-集合操作11.1集合元素的映射-map11.1.1map映射函数的操作11.1.2高阶函数基本使用案例1+案例211.1.3使用map映射函数来解决11.1.4模拟实现map映射函数的机制11.1.5课堂练习11.2集合元素的扁平-flatMap11.3集合元素的过滤... 查看详情

scala学习笔记之隐式参数和隐式转换并用

隐式转换条件:1.当表达式类型与预期的类型不同时2.当对象访问一个不存在的成员时3.当对象调用某个方法,而该方法的参数声明与传入参数不相匹时。隐式转换搜索范围:1.位于源火目标类型伴生对象中的隐式函数。2.位于当... 查看详情

scala中trait学习笔记

scala中提供的trait(特质)和Java中的Interface有很多相似之处。都可以持有方法的声明和属性,但是trait还有比interface强大的多的其他用法。1.trait可以带有方法实现;2.trait与interface一样,可以互相继承。但是trait可以继承自某个类... 查看详情

《java8实战》读书笔记13:java8与scala(代码片段)

《Java8实战》读书笔记13:Java8与Scala第15章面向对象和函数式编程的混合:Java8和Scala的比较15.1.1你好,啤酒15.1.2基础数据结构:List、Set、Map、Tuple、Stream以及Option1.创建集合2.不可变与可变的比较3.使用集合4.元组5.S... 查看详情

mongodb学习笔记之aggregationpipeline实战实现innerjoin

 AggregationPipeline实战实现innerjoin:  leftT集合: comments集合: 现在我们要用aggregation实现innerjoindb.comments.aggregate([{$lookup:{from:"leftT",localField:"timestamp",foreignField:"timesta 查看详情

scala笔记整理:scala集合库(代码片段)

[TOC]Scala主要集合结构1、Scala中的集合体系主要包括:Iterable、Seq(IndexSeq)、Set(SortedSet)、Map(SortedMap)。其中Iterable是所有集合trait的根trait。实际上Seq、Set、和Map都是子traitSeq是一个有先后次序的值的序列,比如数组或列表... 查看详情

前端学习笔记之jquery选择器一

一.查找按选择器查找:过滤选择器1.基本过滤:位置过滤--------jquery独有,css没有  什么是:根据元素在查找结果集合中的下标位置选择元素  强调:1.将所有元素查找到集合中再按照下标过滤     2.下标从0开始  ... 查看详情