三目运算
var result = if(7 > 13) true else false
集合
数组
一维数组
// 声明数组var nums:Array[String] = new Array[String](3)// 或者var nums = new Array[String](3)// 数组赋值nums(0) = "Nirvana"nums(1) = "age"var nums = Array("name", "age")// 遍历数组var nums = Array(1,2,3,4)for(x <- nums) {println(x)}for(i <- 0 to (nums.length - 1)) {println(nums(i))}// 合并数组var list1 = Array(1,2)var list2 = Array(3,4)var mergeNums = concat(list1, list2)
二维数组
// 多维数组var matrix = Array.ofDim[Int](3,4)for(i <- 0 to 2) {for(j <- 0 to 2) {matrix(i)(j) = j;}}
Map
// map定义var map:Map[Char, Int] = Map()// 初始化定义mapvar map = Map("red" -> "#FF0000", "azure" -> "#F0FFFF")// 添加键值对map += ('I' -> 2)// 返回map 的key的集合, value 的集合println(map.keys())println(map.values())// Map 合并var color1 = Map("red" -> "#FF0000")var color2 = Map("blue" -> "#0033FF")// ++ 作为运算符[合并]var colors = color1 ++ color2// ++ 作为方法colors = color1.++(color2)// 查看是否包含某个keyif(colors.contains("red)) {println("包含 red")}
scala符号的使用
::: [++] [++:] 表示拼接两个集合中的元素
var list1 = List(1, 2, 3)var list2 = List(4, 5)var list = list1 ::: list2println(list) // 打印结果. List(1, 2, 3, 4, 5)
::[+:] 使用在集合中, a :: b 表示将 a 作为一个元素插入到b 的最前面
var list1 = List(1, 2, 3)var list2 = List(4, 5)list1 = 10 :: list1println(list1) // 打印出来 List(10, 1, 2, 3)var list = list1 :: list2println(list) // 打印出来 List(List(1, 2, 3), 4, 5)
[:+] 插入的效果同上, 但是从后面插入的
=> 定义函数, xxx => yyy. xxx 函数变量, yyy 函数返回值
<- 遍历集合.
for(i <- arrs) {}
-> 返回一个元组.
val tuple = 1 -> 2println(tuple) // 打印结果. (1,2).
_ 下划线
// 1. 初始化的时候var name: String = _ // 等同给 name 赋值为null// 2. import 引入的时候import scala.math._ // 表示引入 math 下的所有内容. 等同java 中的 import java.math.*// 3. 集合中, 这个里面的 _ 就有点类似this 的感觉var nums = (1 to 10).map(_ + 1)println(nums) // Vector(2, 3, 4, 5, 6, 7, 8, 9, 10, 11).// 4. 模糊匹配. 这里面的 _ 类似一个default 的时候作用var v = "c"var result = v match {case "a" => 1case "b" => 2case _ => "result"}println(result) // 这边打印 result// 5. 偏函数的使用方法def sum(num1: Double, num2: Double): Double = {var sum = num1 + num2sum}val result = sum(3.5, _)println(result(6.4)) // 打印结果. 9.9. 这边调用result 等到调用 sum(3.5, 6.4)
_N 下划线数字: 访问元组中的第N 个元素[从1 开始].
val tuple = ("name", "age", "birth", "sex")println(tuple._3) // 打印结果. birth
