玩转大数据大数据,机器学习,人工智能大数据

Scala 令人发指的特殊符号

2018-08-21  本文已影响18人  他与理想国

集合相关

+=和++=(字符串拼接)

scala> var s:String = "a"
scala> s+="b"
scala> s++="c"
scala> s
res15: String = abc

scala> var a = Map(1->2,2->3)
scala> a += (3->4)
scala> a
res: scala.collection.immutable.Map[Int,Int] = Map(1 -> 2, 2 -> 3, 3 -> 4)

::(构造列表)

scala> "A"::"B"::Nil
res0: List[String] = List(A, B)

:+和+:(列表追加元素)

scala> List(1,2,3)
res1: List[Int] = List(1, 2, 3)

scala> res1:+2
res2: List[Int] = List(1, 2, 3, 2)

scala> 3+:res1
res4: List[Int] = List(3, 1, 2, 3)

++(连接两个Seq)

scala> val a = List(1,2,3)
a: List[Int] = List(1, 2, 3)

scala> a++List(4,5,6)
res7: List[Int] = List(1, 2, 3, 4, 5, 6)

<-(集合遍历)

var arr = Array(1,2,3,4)
for (i <- arr) {
  println(i)
}

1
2
3
4

-> 返回一个二元元组

scala> var a = List(1,2,3)
a: List[Int] = List(1, 2, 3)

scala> var b = List(4,5,6)
b: List[Int] = List(4, 5, 6)

scala> val four = a -> b
four: (List[Int], List[Int]) = (List(1, 2, 3),List(4, 5, 6))

下划线_相关

通配符

1.import scala.math._ 

2.模式匹配
object MatchTest extends App {
  def matchTest(x: Int): String = x match {
    case 1 => "one"
    case 2 => "two"
    case _ => "many"
  }
  println(matchTest(3))
}

访问元组

scala> val tup = (1,2,3)
tup: (Int, Int, Int) = (1,2,3)

scala> tup._1
res1: Int = 1

将方法转换成函数

递归调用

scala> sum(1 to 100: _*) 
res: Int = 5050

指代集合中的每个元素

scala> var list = List(1,2,3,4)
list: List[Int] = List(1, 2, 3, 4)

scala> list.map(_*2)
res2: List[Int] = List(2, 4, 6, 8)

代表某一类型的默认值

scala> var a:Int = _
a: Int = 0

scala> var a:Int =_
a: Int = 0

其他

=>(匿名函数)

匿名函数定义:

上一篇 下一篇

猜你喜欢

热点阅读