这一篇里面有很多关于scala的list的操作的好的知识
Posted 笨鸟居士的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这一篇里面有很多关于scala的list的操作的好的知识相关的知识,希望对你有一定的参考价值。
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, ", " ) res 0 : 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(" , ", " , ")" ) res 5 : 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 }, { (p 1 , p 2 ) = > p 1 + p 2 }) |
13.apply(n: Int) 通过索引选择元素
1
2
|
scala> List( \'a\' , \'b\' , \'c\' ).apply( 1 ) res 2 : Char = b |
以上是关于这一篇里面有很多关于scala的list的操作的好的知识的主要内容,如果未能解决你的问题,请参考以下文章