1.Tuple:元祖。是一个有用的容器对象。

  1)特点:

    ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变;

    ② 元祖可以包含不同类型的数据,对象;

    ③ 索引是从 '_1' 开始,读取元祖中的内容

    ④标识:' () '

  2)代码

   //元祖
def doTuple() {
//'()' 定义元祖
val pair = (100, "scala", "spark") //元祖的类型val pair: (Int, String, String) 由scala类型推倒
println(pair._1)
println(pair._2)
}

   

2.Array:类型参数化数组

  1)特点: 

      ①参数化的意思是指创建实例的同时完成对它的“设置”,即赋值;

    ②scala数组通过索引值加圆括号进行访问,array(i);有别于java中的方括号;

   ③Array长度不可变,但是它的值可变;

  2)代码:

   //数组
def doArray() {
//通过Array 关键字定义数组
val array = Array(1, 2, 3, 4, 5)
// for(i <- 0 until array.length){
// println(array(i))
// } // 增强for循环,推荐
for (elemt <- array) println(elemt) }

3.Map

  //map操作
def doMap() {
//通过Map关键字 定义一个Map
val ages = Map("jason" -> 27, "hadoop" -> 20) for ((k, v) <- ages) println("key is :" + k + ", hadoop is :" + v) //key is :jason, hadoop is :27 key is :hadoop, hadoop is :20 // "_ " 是一个占位符
// for((k,_) <- ages) println("key is :"+ k )//key is :jason key is :hadoop }

函数式编程:方法没有副作用是函数式风格 编程的重要思想,计算并返回值应该是方法的唯一目的。

  1.方法之间的耦合度降低,更加可靠和易于重用

  2.(在静态类型语言里)方法的参数和返回值都要经过检查器的检查,因此,可以比较容易的根据类型错误推断其中隐含的逻辑错误

4.文件的操作:source类中的静态方法

  def doFile() {

     // 通过scala.io.Source 对象
val file = Source.fromFile("E:\\java_workspase\\scalaProgramWorkSpace\\test.txt")
for (line <- file.getLines()) println(line) }

最新文章

  1. 一个类似宣传的H5页面
  2. Java的数组长度无需编译指定,因为它是对象
  3. VisualStudio2010正则表达式查找和替换
  4. How to fix updating ubuntu apt-get problem
  5. ThroughRain学期冲刺总结
  6. 关于android使用ksoap2报Caused by: java.lang.ClassCastException: org.ksoap2.SoapFault cannot be cast to org.ksoap2.serialization.SoapObject
  7. myBatis 参数配置
  8. Objective-C 2.0的运行时编程
  9. linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发
  10. SVN 之 去掉SVN管理标记
  11. java版括号匹配检测
  12. Linux--安装过程中的根文件系统的分析
  13. JavaScript设计模式--简单工厂模式
  14. SQL2008全部数据导出导入两种方法
  15. Git秘钥生成以及Gitlab配置(附以下问题解决方法:Key is invalid Fingerprint cannot be generated)
  16. 爬虫时http错误提示
  17. c# 匿名函数
  18. window安装mysql教程
  19. ErrorProvider控件使用
  20. swing包含了各种组件的类

热门文章

  1. 快速接入 Android BLE 开发的基础框架
  2. trac 的安装设置
  3. unity4.6 Beta版 UI控件之Button
  4. Rabbitmq消息队列(一) centos下安装rabbitmq
  5. EularProject 39:给周长推断构成直角三角形个数
  6. POI 实现合并单元格以及列自适应宽度
  7. C指针解析 ------ 指针的算术运算
  8. HDFS源码分析数据块校验之DataBlockScanner
  9. linux无线网络配置_转
  10. Spring WebSocket Support官方文档+翻译