简单整理了一些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,简单整理了一些笔记,有错欢迎留言指正。