Scala Sequence List

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)

 

总结,乱的很,我日。

 

转载于:https://my.oschina.net/windows20/blog/1631948

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值