1. 程式人生 > >這一篇裏面有很多關於scala的list的操作的好的知識

這一篇裏面有很多關於scala的list的操作的好的知識

str def seq gpo table sta sum 一個 AC

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 a = List(1) a: List[Int] = List(1) scala> val b = List(2) b: List[Int] = List(2) scala> val c = a ++ b c: List[Int] = List(1, 2) scala> val d = List(‘a‘) d: List[Char]
= List(a) scala> val e = c ++ d e: List[AnyVal] = List(1, 2, a)

2.++: 與++不同的是使用的右邊邊的數據類型

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

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

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

4./:應用二進制運算符起始值,從左到右遍歷叠代所有元素。

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

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

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

6.:: 為列表增加單個元素,這是一個右結合的操作符

1 1 :: List(2, 3) = List(2, 3).::(1) = List(1, 2, 3)

7.::: 在列表的前面追加一個列表,這是一個右結合的操作符

1 List(1, 2) ::: List(3, 4) = List(3, 4).:::(List(1, 2)) = List(1, 2, 3, 4)

8.:\ 與元素合並後按照操作進行對列表遍歷

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

9.addString(b: StringBuilder) 對列表中的所有元素叠代將拼接成字符串

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

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

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

11.addString(b: StringBuilder, start: String, sep: String, end: String) 定義輸出以什麽開始、分割、結束

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

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

這一篇裏面有很多關於scala的list的操作的好的知識