scala中(::,:::,++=,--=,+:,:+)等操作符示例

文章详细介绍了Scala中的一些基础操作符,如++用于生成新集合的合并,+=用于在原集合尾部追加,++=用于集合间的合并,+:和:+用于头部和尾部合并,-和--用于移除元素,-=和--=则是在原集合上进行移除操作。此外,文中特别提到List作为不可变集合的特点,即每次添加或删除元素都会生成新的集合。
摘要由CSDN通过智能技术生成

简单整理了一些scala基础操作符含义,表格后附代码示例。

方法

List

生成新集合

ArrayBuffer

生成新集合

++

集合合并

生成

集合合并

生成

+=

尾部追加单值

不生成

++=

左集合←右集合

不生成

+:

头部合并

生成

头部合并

生成

:+

尾部合并

生成

尾部合并

生成

-

新集合:去掉左集合中从左到右第一个出现的指定元素

生成

--

新集合:去掉左集合中从左到右第一次出现的右集合元素

生成

-=

原集合:去掉左集合中从左到右第一个出现的指定元素

不生成

--=

原集合:去掉左集合中从左到右第一次出现的右集合元素

不生成

::

头部追加单值

生成

:::

集合合并

生成

【++】生成新集合:集合合并。

/*ListBuffer*/
    val buffer = ListBuffer(1, 2, 3, 4)
    val buffer2 = ListBuffer(5, 6, 7, 8)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4)
    val buffer3 = buffer ++ buffer2
    println(buffer3)//输出:ListBuffer(1, 2, 3, 4, 5, 6, 7, 8)

/*List*/
    val list01: List[Int] = List(1, 2, 3, 4)
    val list02: List[Int] = List(5, 6, 7, 8)
    println(list01)//输出:List(1, 2, 3, 4)
    val list03 = list01 ++ list02;
    println(list03)//输出:List(1, 2, 3, 4, 5, 6, 7, 8)

【+=】在原集合操作:尾部追加单值。

/*ListBuffer*/
    val buffer = ListBuffer(1, 2, 3, 4)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4)
    buffer += (5)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4, 5)

【++=】在原集合操作:左集合←右集合,在左集合尾部追加右集合。

/*ListBuffer*/
    val buffer = ListBuffer(1, 2, 3, 4)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4)
    val buffer2 = ListBuffer(5, 6, 7, 8)
    buffer ++= buffer2;
    println(buffer)//输出:ListBuffer(1, 2, 3, 4, 5, 6, 7, 8)

【+:】生成新集合:头部合并

/*ListBuffer*/
    val buffer = ListBuffer(1, 2, 3, 4)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4)
    val buffer2 = ListBuffer(5, 6, 7, 8)
    println(buffer2)//输出:ListBuffer(5, 6, 7, 8)
    val buffer3 = "9" +: buffer2
    println(buffer3)//输出:ListBuffer(9, 5, 6, 7, 8)
    val buffer4 = buffer +: buffer2
    println(buffer4)//输出:ListBuffer(ListBuffer(1, 2, 3, 4), 5, 6, 7, 8)
/*List*/    
    val list01: List[Int] = List(1, 2, 3, 4)
    val list02: List[Int] = List(5, 6, 7, 8)
    println(list01)//输出:List(1, 2, 3, 4)
    println(list02)//输出:List(5, 6, 7, 8)
    val list03 = "9" +: list02;
    println(list03)//输出:List(9, 5, 6, 7, 8)
    val list04 = list01 +: list02;
    println(list04)//输出:List(List(1, 2, 3, 4), 5, 6, 7, 8)

【:+】生成新集合:尾部合并

/*ListBuffer*/ 
    val buffer = ListBuffer(1, 2, 3, 4)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4)
    val buffer2 = ListBuffer(5, 6, 7, 8)
    println(buffer2)//输出:ListBuffer(5, 6, 7, 8)
    val buffer3 = buffer2 :+ "9"
    println(buffer3)//输出:ListBuffer(5, 6, 7, 8, 9)
    val buffer4 = buffer :+ buffer2
    println(buffer4)//输出:ListBuffer(1, 2, 3, 4, ListBuffer(5, 6, 7, 8))
/*List*/ 
    val list01: List[Int] = List(1, 2, 3, 4)
    println(list01)//输出:List(1, 2, 3, 4)
    val list02: List[Int] = List(5, 6, 7, 8)
    println(list02)//输出:List(5, 6, 7, 8)
    val list03 = list02 :+ "9"
    println(list03)//输出:List(5, 6, 7, 8, 9)
    val list04 = list01 :+ list02;
    println(list04)//输出:List(1, 2, 3, 4, List(5, 6, 7, 8))

【-】生成新集合:去掉左集合中从左到右第一个出现的指定元素

/*ListBuffer*/ 
    val buffer = ListBuffer(1, 2, 3, 4, 3)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4, 3)
    val buffer3 = buffer - 3
    println(buffer)//输出:ListBuffer(1, 2, 3, 4, 3)
    println(buffer3)//输出:ListBuffer(1, 2, 4, 3)

【--】生成新集合:去掉左集合中从左到右第一次出现的右集合元素

/*ListBuffer*/ 
    val buffer = ListBuffer(1, 2, 3, 4, 3, 3, 4, 4)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4, 3, 3, 4, 4)
    val buffer2 = ListBuffer(3, 4)
    println(buffer2)//输出:ListBuffer(3, 4)
    val buffer3 = buffer -- buffer2
    println(buffer3)//输出:ListBuffer(1, 2, 3, 3, 4, 4)

【-=】在原集合操作:去掉左集合中从左到右第一个出现的指定元素

/*ListBuffer*/ 
    val buffer = ListBuffer(1, 2, 3, 4, 5)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4, 5)
    buffer -= 4
    println(buffer)//输出:ListBuffer(1, 2, 3, 5)

【--=】在原集合操作:去掉左集合中从左到右第一次出现的右集合元素

/*ListBuffer*/ 
    val buffer = ListBuffer(1, 2, 3, 4, 5, 3, 3, 4, 4)
    println(buffer)//输出:ListBuffer(1, 2, 3, 4, 5, 3, 3, 4, 4)
    val buffer2 = ListBuffer(3, 4)
    println(buffer2)//输出:ListBuffer(3, 4)
    buffer --= buffer2
    println(buffer)//输出:ListBuffer(1, 2, 5, 3, 3, 4, 4)

【::】生成新集合:头部追加单值

/*List*/ 
    val list01: List[Int] = List(1, 2, 3, 4)
    println(9::list01)//输出:List(9, 1, 2, 3, 4) 新集合
    println(list01)//输出:List(1, 2, 3, 4)

【:::】生成新集合:集合合并

 /*List*/ 
    val list02: List[Int] = List(5, 6, 7, 8)
    println(list01:::list02)//输出:List(1, 2, 3, 4, 5, 6, 7, 8)
    println(list01)//输出:List(1, 2, 3, 4)
    println(list02)//输出:List(5, 6, 7, 8)

不可变List:List默认是不可变集合,增加元素实际是生成新的集合。

初学scala,简单整理了一些笔记,有错欢迎留言指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值