Scala里面的List太操蛋了。
各种操作符,简直人类真是难以记得啊。
1、不可变List
1.1、 新建一个不可变List
val list7=List(5,6,7)
1.2、 要想往里面新加一个元素0,怎么办?注意到:list7是不可变的,往里面加一个元素后,只能返回一个List,有如下4种写法:
val list2= 0 +:list1
val list3 = 0 :: list1
val list4= list1.+:(0)
val list5= list1.::(0)
val list6=list1.:+(0)
println(list2)
println(list3)
println(list4)
println(list5)
println(list6)
其中,list6的0是最后面,结果如下图所示:
1.3、2个List如何合并?
val list7=List(4,5,6)
val list8=list1 ++ list7
println(list8)
val list9=list1 ++: list7
println(list9)
val list10 = list1 ::: list7
println(list10)
2、可变List
2.1、 加1个普通的整数
val list11= ListBuffer(1,2,3)
//加一个普通的整数4
list11 +=4
list11.append(5)
println(list11)
有2种写法,一个是+=,一个是append,还是append好记。
2.2、2个list相加,用可变函数,list会变更
//2个list相加
var list12=ListBuffer(4,5,6)
list11 ++= list12 //可变列表
println(list11)
2.3、 2个可变list,用不可变函数,返回不可变列表
//2个list相加,返回不可变列表
list11 ++ list12 //不可变列表
println(list11)
2.4、可变list,用不可变的方法,返回仍然是不可变list
//可变list加普通的整数,仍然返回不可变列表
list11:+4
list11.:+(4)
println(list11)
总结,乱的很,我日。