+: , :+ , ++ , ++: , :++ , += , +=: , :: , ::: , ++= , --=,的作用介绍

1.+:和:+

首先,+:以及:+均为Scala语言中用于追加不可变数组和列表数据的函数,两个函数的运用形式有很多:

val list = List[Int](2, 2, 2, 2)
//形式
val l1 = list.+:(1)//同list:+1
println(l1)//List(1, 2, 2, 2, 2)
val l2 = list.:+(1)//同1+:list
println(l2)//List(2, 2, 2, 2, 1)


//注:不可变列表数据长度不可变,追加后产生新列表
//尾部追加
val list01 = list :+ 1
println(list01)  //List(2, 2, 2, 2, 1)
//头部追加
val list02 = 1 +: list
println(list02)  //List(1, 2, 2, 2, 2)
//注:写代码时注意,底层逻辑是从:一边开熟读,故列表要在:一侧

2. ++ , ++: , :++ , ::: ,::

前三个函数皆可用于不可变数组,不可变列表的合并,作用相同,只是底层运行逻辑不同

val list01 = List[Int](2, 2, 2, 2)
val list02 = List[Int](3, 3, 3, 3)

val l01 = list01 ++ list02
val l02 = list01 :++ list02
val l03 = list01 ++: list02
println(l01)  //List(2, 2, 2, 2, 3, 3, 3, 3)
println(l02)  //List(2, 2, 2, 2, 3, 3, 3, 3)
println(l03)  //List(2, 2, 2, 2, 3, 3, 3, 3)

::: 只可用于列表合并

val l04 = list01 ::: list02
println(l04)  //List(2, 2, 2, 2, 3, 3, 3, 3)

:: 用于列表之前追加数据,同  :+

val list3 = 1 :: list
val list5 = 1 :: 2 :: 3 :: 4 :: Nil

3.+= 和 +=:

用于可变数组列表追加数据:

val bulist01 = ListBuffer[Int](2, 2, 2, 2)
val bulist02 = ListBuffer[Int](3, 3, 3, 3)

bulist01 += 1
println(bulist01)  //ListBuffer(2, 2, 2, 2, 1)
3+=:bulist01
println(bulist01)  //ListBuffer(3, 2, 2, 2, 2, 1)

//注:可变集合长度可改变,数据可修改

4.++= 和 --=

++= :合并列表

val bulist01 = ListBuffer[Int](2, 2, 2, 2)
val bulist02 = ListBuffer[Int](3, 3, 3, 3)

//将bulist02合并到bulist01中(改变的是bulist01的数据)
bulist01++=bulist02
println(bulist01)  //ListBuffer(2, 2, 2, 2, 3, 3, 3, 3)

--=:对数据进行过滤

val bulist01 = ListBuffer[Int](2, 2, 2, 2,3,3,4)
val bulist02 = ListBuffer[Int](3, 3, 3, 3)

//获取lbulist01中有而bulist02中没有的数据 - 差集
bulist01--=bulist02  //ListBuffer(2, 2, 2, 2, 4)
println(bulist01)

结尾:以上便是作者的总结,若有错漏,欢迎指正(●'◡'●)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值