class StudentTT extends StudentT{
def sayBye(name: String, age: Int)(address: String){
println("Hello, " + name + ":" + age + ":" + address)
} } object CollectionDemo3 {
def main(args: Array[String]): Unit = {
val s = new StudentTT()
//Currying
s.sayBye("leo", 1)("shanghai")
//给定一个起始值0,使用规约函数规约列表,这里其实就是所有元素求和
println(List(1,2,3).fold(0)(_+_))
//给定一个起始值0,使用规约函数从左至右规约列表,这里其实就是所有元素求和
println(List(1,2,3).foldLeft(0)(_+_))
//给定一个起始值0,使用规约函数从右至左规约列表,这里其实就是所有元素求和
println(List(1,2,3).foldLeft(0)(_+_))
//给定一个规约函数,从第一个元素开始规约
println(List(1,2,3) reduce(_+_))
//给定一个规约函数,第一个元素从左到右开始规约
println(List(1,2,3) reduceLeft(_+_))
//给定一个规约函数,第一个元素从右到左开始规约
println(List(1,2,3) reduceRight(_+_))
//给定一个起始值0,使用规约函数,生成一个归约值得列表
println(List(1,2,3).scan(0)(_+_))
//给定一个起始值0,使用规约函数从左至右,生成一个归约值得列表
println(List(1,2,3).scanLeft(0)(_+_))
//给定一个起始值0,使用规约函数从右至左,生成一个归约值得列表
println(List(1,2,3).scanRight(0)(_+_))
//复杂的归约,如果你一看就懂,说明你真的掌握了,我当时认真看了一会才看明白。。。
println(List(1,2,3).foldLeft(false){(a, i) => if(a) a else (i ==2)}) }
}

运行结果:

Hello, leo:1:shanghai
6
6
6
6
6
6
List(0, 1, 3, 6)
List(0, 1, 3, 6)
List(6, 5, 3, 0)
true

Scala 学习笔记之集合(2)的更多相关文章

  1. Scala 学习笔记之集合(3)

    建立一个Java类,为了演示Java集合类型向Scala集合的转换: import java.util.ArrayList; import java.util.List; public class S ...

  2. scala学习笔记:集合

    scala> 1 to 10 res9: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5, 6, 7, 8, 9 ...

  3. Scala 学习笔记之集合(1)

    package com.citi.scala object CollectionDemo { def main(args: Array[String]): Unit = { /** * List */ ...

  4. Scala 学习笔记之集合(7) Option

    object CollectionDemo8 { def main(args: Array[String]): Unit = { //Option集合的使用,可以用来安全的判断null或非null,放 ...

  5. Scala 学习笔记之集合(6)

    object CollectionDemo7 { def main(args: Array[String]): Unit = { //数组使用 val arr = Array("red&qu ...

  6. Scala 学习笔记之集合(5)

    import collection.mutable.Buffer object CollectionDemo6 { def main(args: Array[String]): Unit = { // ...

  7. Scala 学习笔记之集合(4)

    集合的模式匹配操作: object CollectionDemo5 { def main(args: Array[String]): Unit = { //集合模式匹配1 val ls = List( ...

  8. Scala 学习笔记之集合(9) 集合常用操作汇总

    object CollectionDemo10 { def main(args: Array[String]): Unit = { var ls = List[Int](1, 2, 3) //向后增加 ...

  9. Scala 学习笔记之集合(8) Try和Future

    import util._ import concurrent.ExecutionContext.Implicits.global import concurrent.Future import co ...

随机推荐

  1. Gym 100851 题解

    A: Adjustment Office 题意:在一个n*n的矩阵,每个格子的的价值为 (x+y), 现在有操作取一行的值,或者一列的值之后输出这个和, 并且把这些格子上的值归0. 题解:模拟, 分成 ...

  2. hdu Sumsets

    Farmer John commanded his cows to search for different sets of numbers that sum to a given number. T ...

  3. Linux基础_网站权限规划

    Linux系统默认的权限: 对于文件来说, 默认的权限: rw-r--r-- 644 对于目录来说:rwxr-xr-x  755 网站比较安全的权限: 网址程序存放在/app/blog 目录下面. 1 ...

  4. IDEA中的各种快捷键

    1.get.set快捷键: Alt+Insert 2.idea补全返回值快捷键 比如写了一个new User(),需要补全前面的User user ctrl+alt+V 3.idea全局搜索: Ctr ...

  5. go 学习笔记之学习函数式编程前不要忘了函数基础

    在编程世界中向来就没有一家独大的编程风格,至少目前还是百家争鸣的春秋战国,除了众所周知的面向对象编程还有日渐流行的函数式编程,当然这也是本系列文章的重点. 越来越多的主流语言在设计的时候几乎无一例外都 ...

  6. git之rebase、merge和cherry pick的区别(面试常问)

    git flow图例镇楼 merge 这个简单,初学者常用.比如主分支是Dev,最新版本是01.然后小明基于此,搞了个feature 分支A,业务:打酱油.然后在上面多次提交,完成功能迭代开发,如A1 ...

  7. 安装完oracle11g_2x64位数据库后使用PL Developer链接oracle报错“请确认是否安装了32位oracle和TNS错误”解决方案

    解决使用PL Developer登录oracle报错没有配置TNS错误.首先安装好oracle11g数据库,安装PL developer32位 1,下载“instantclient-basic-win ...

  8. 松软科技课堂:SQL--UNIQUE约束

    SQL UNIQUE 约束(文章来源:松软科技-www.sysoft.net.cn-) UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提 ...

  9. 新建Servlet工程——IDEA

    Servlet是sun公司提供的一套接口规范,是运行在服务端的java程序.实现了Servlet的类能够被服务器识别,而普通的java类不能被识别. 1.新建工程 2. 3.工程名字“: 4.在WEB ...

  10. IO流的工具类

    1.需要先导入jar包: FilenameUtils import org.apache.commons.io.FilenameUtils; public class FilenameUtilesDe ...