https://www.cnblogs.com/weilunhui/p/5658860.html

1.++[B]   在A元素后面追加B元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
scala> val = List(1)
a: List[Int] = List(1)
 
scala> val = List(2)
b: List[Int] = List(2)
 
scala> val = a ++ b
c: List[Int] = List(12)
 
scala> val = List('a')
d: List[Char] = List(a)
 
scala> val = c ++ d
e: List[AnyVal] = List(12, a)

2.++: 与++不同的是使用的右边边的数据类型

1
2
3
4
5
6
7
8
scala> val = List(1)
x: List[Int] = List(1)
 
scala> val = LinkedList(2)
y: scala.collection.mutable.LinkedList[Int] = LinkedList(2)
 
scala> var = x ++: y
z: scala.collection.mutable.LinkedList[Int] = LinkedList(12//y是LinkedList
1
2
scala> var = y ++: x  //使用x的类型
z: List[Int] =List(12)

3.+:  在List的头部增加元素

1
2
3
4
5
6
7
8
scala> val = List(1)
x: List[Int] = List(1)
 
scala> val = 2 +: x
y: List[Int] = List(21)
 
scala> println(x)
List(1)

4./:应用二进制运算符起始值,从左到右遍历迭代所有元素。

1
2
3
4
5
6
7
8
scala> val = List(1,2,3,4)
a: List[Int] = List(1234)
 
scala> val = (5 /: a)(_+_)
b: Int = 15
 
scala> val = (5 /: a)((x,y) => x + y)
c: Int = 15

5.:+:在后面追加元素

1
2
3
4
5
6
7
8
scala> val = List(1)
a: List[Int] = List(1)
 
scala> val = :2
b: List[Int] = List(12)
 
scala> println(a)
List(1)

6.:: 为列表增加单个元素,这是一个右结合的操作符

1
1 :: List(23= List(23).::(1= List(123)

7.::: 在列表的前面追加一个列表,这是一个右结合的操作符

1
List(12::: List(34= List(34).:::(List(12)) = List(1234)

8.:\ 与元素合并后按照操作进行对列表遍历

1
2
3
4
5
6
7
8
scala> val = List(1,2,3,4)
a: List[Int] = List(1234)
 
scala> val = (a :5)(_+_)
b: Int = 15
 
scala> val = (a :5)((x,y) => x + y)
c: Int = 15

9.addString(b: StringBuilder) 对列表中的所有元素迭代将拼接成字符串

1
2
3
4
5
6
7
8
scala> val = List(1,2,3,4)
a: List[Int] = List(1234)
 
scala> val = new StringBuilder()
b: StringBuilder =
 
scala> val = a.addString(b)
h: StringBuilder = 1234

10.addString(b: StringBuilder, sep: String) 使用分隔符输出字符串

1
2
3
4
5
6
7
8
scala> val = List(1,2,3,4)
a: List[Int] = List(1234)
 
scala> val = new StringBuilder()
b: StringBuilder =
 
scala> a.addString(b, ", ")
res0: StringBuilder = 1234

11.addString(b: StringBuilder, start: String, sep: String, end: String) 定义输出以什么开始、分割、结束

1
2
3
4
5
6
7
8
scala> val = List(1,2,3,4)
a: List[Int] = List(1234)
 
scala> val = new StringBuilder()
b: StringBuilder =
 
scala> a.addString(b , "List(" ", " ")")
res5: StringBuilder = List(1234)

12. aggregate[B](z: ⇒ B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B 对列表内元素进行求和

1
List('a''b''c').aggregate(0)({ (sum, ch) => sum + ch.toInt }, { (p1, p2=> p1 + p2 })

13.apply(n: Int) 通过索引选择元素

1
2
scala> List('a','b','c').apply(1)
res2: Char = b

最新文章

  1. Redis实战阅读笔记——第二章
  2. Android -- 思考 -- 为什么要在项目中使用MVP模式
  3. NHibernate系列文章目录
  4. UML类图中的六种关系及实例【补充】
  5. Linux中关于安装包的分析。——Arvin
  6. 存储构造题(Print Check)
  7. [mondrian] 分析一个简单的schema文件
  8. Java Concurrency - Condition
  9. scaleform mobile sdk for android 多点触摸 修正
  10. zzzz
  11. NSString NSCFString区别
  12. [RxJS] Combining Streams with CombineLatest
  13. 数组名和指针的深入理解(C++)
  14. Atitit.软件仪表盘(2)--vm子系统--资源占用监測
  15. 多线程手写Future模式
  16. 关于Java的volatile
  17. 2018-2019-2 网络对抗技术 20165328 Exp2 后门原理与实践
  18. Agens层次聚类
  19. makefile中.PHNOY的用法
  20. mod_conference ESL控制一(原理)

热门文章

  1. HDU 4812 D Tree 树分治
  2. Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
  3. 0014.Linux环境搭建 Python环境搭建
  4. 微信小程序开发 -- 点击右上角实现转发功能
  5. [uiautomator篇] [4] 运行成功的日志打印---最后写一个脚本来实现
  6. 如果奇迹有颜色,那么一定是暴力or模拟比较6
  7. JQuery常用的HTML页控制取值、赋值
  8. iOS开发 UILabel实现自适应高宽
  9. 扩展kmp--模板解析
  10. HDU——1213How Many Tables(并查集按秩合并)