【scala】笔记

博客介绍了Scala中List的相关知识,如“::”方法的右结合规则,借助空列表对象Nil用“::”串起元素初始化列表。还提及for循环中,若循环体为赋值语句,可将循环体与循环生成式放一起,并用yield输出变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List

scala> val strList = List("Hadoop", "Spark", "Flink")
strList: List[String] = List(Hadoop, Spark, Flink)

# head返回列表第一个元素的值
scala> strList.head
res45: String = Hadoop

# tail返回列表除第一个元素以外的其他值
scala> strList.tail
res46: List[String] = List(Spark, Flink)

# 下面两个语句等效
scala> val anoList = "Apache" :: strList
anoList: List[String] = List(Apache, Hadoop, Spark, Flink)

scala> val anoList2 = strList.::("Apache")
anoList2: List[String] = List(Apache, Hadoop, Spark, Flink)

::”是List类的一个方法, 而且scala规定当方法名以冒号“:”结尾时,其作为操作符使用时,将执行“右结合”规则,因此上面最后两个语句是等效的。
scala还定义了一个空列表对象Nil, 借助Nil可以将多个元素用操作符“::”串起来初始化一个列表,例如:

scala> val intList = 1 :: 2 :: 3 :: 4 :: Nil
intList: List[Int] = List(1, 2, 3, 4)

注意,最后的Nil是不能省略的,因为“::”是右结合的,而4是Int型,它并没有名为“::”的方法。

for循环, yield

如果循环体中都是赋值语句,可以把循环体直接和循环生成式放在一块,并可以使用yield输出变量

scala> for{i <- (0 to 5).toArray
     |  a = i*2
     |  b = i*3
     |  c = a+b
     | }yield c
res12: Array[Int] = Array(0, 5, 10, 15, 20, 25)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值