Scala List 用法

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

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.++: 与++不同的是使用的右边边的数据类型

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
scala> var z = y ++: x  //使用x的类型
z: List[Int] =List(1, 2)

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

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./:应用二进制运算符起始值,从左到右遍历迭代所有元素。

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.:+:在后面追加元素

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 :: List(2, 3) = List(2, 3).::(1) = List(1, 2, 3)

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

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

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) 对列表中的所有元素迭代将拼接成字符串

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) 使用分隔符输出字符串

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) 定义输出以什么开始、分割、结束

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)

  

时间: 2024-10-18 07:46:01

Scala List 用法的相关文章

scala函数用法

直接上代码. package com.test.scala.test object Function { def main(args: Array[String]): Unit = { println(abs(0)); println(add(5,6)) println(addStr("too you")) println(addStr("I love you","[","]")) println(sum(1,2,3,5))

Spark SQL的介绍和DataFrame的建立及使用

1. Spark SQL定位处理结构化数据的模块.SparkSQL提供相应的优化机制,并支持不同语言的开发API. java.scala.Python,类SQL的方法调用(DSL) 2. RDD与Spark SQL的比较说明: 使用Spark SQL的优势:a.面向结构化数据:b.优化机制: RDD缺点:a.没有优化机制,如对RDD执行Filter操作: b.RDD类型转换后无法进行模式推断 3. DataFrame/SchemaRDD DataFrame是一个分布式的数据集合,该数据集合以命名

reduceByKey、groupByKey和combineByKey

在spark中,reduceByKey.groupByKey和combineByKey这三种算子用的较多,结合使用过程中的体会简单总结: ?reduceByKey 用于对每个key对应的多个value进行merge操作,最重要的是它能够在本地先进行merge操作,并且merge操作可以通过函数自定义: ?groupByKey 也是对每个key进行操作,但只生成一个sequence,groupByKey本身不能自定义函数,需要先用groupByKey生成RDD,然后才能对此RDD通过map进行自定

Scala 中apply方法的用法

Scala 是构建在 JVM 上的静态类型的脚本语言,而脚本语言总是会有些约定来增强灵活性.关于协议在Python中是挺多的,看看Python的对象协议,有很多很多,如果对Python的对象协议了解(不了解的可以点击此处)的比较深刻的话,其实scala的apply方法也是很好理解的,比如说 Scala 为配合 DSL 在方法调用时有这么一条约定: 在明确了方法调用的接收者的情况下,若方法只有一个参数时,调用的时候就可以省略点及括号.如 "0 to 2",实际完整调用是 "0.

scala占位符_的用法

占位符的用途颇多,先介绍几种常用的用法 1.作为"通配符",类似Java中的*.如import scala.math._ 2.:_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如val s = sum(1 to 5:_*)就是将1 to 5当作参数序列处理. 3.指代一个集合中的每个元素.例如我们要在一个Array a中筛出偶数,并乘以2,可以用以下办法:a.filter(_%2==0).map(2*_).又如要对缓冲数组ArrayBuffer b排序,可以这样:val

scala 学习之:list span 用法

Pack consecutive duplicates of list elements into sublists. If a list contains repeated elements they should be placed in separate sublists. Example: scala> pack(List('a, 'a, 'a, 'a, 'b, 'c, 'c, 'a, 'a, 'd, 'e, 'e, 'e, 'e)) res0: List[List[Symbol]] =

Scala中apply的用法

Scala中的 apply 方法有着不同的含义, 对于函数来说该方法意味着调用function本身, 以下说明摘自Programming in Scala, 3rd Edition Every function value is an instance of some class that extends one of several FunctionN traits in package scala, such as Function0 for functions with no parame

scala 学习之: list.fill 用法

题目描述: Decode a run-length encoded list. Given a run-length code list generated as specified in problem P10, construct its uncompressed version. Example: scala> decode(List((4, 'a), (1, 'b), (2, 'c), (2, 'a), (1, 'd), (4, 'e))) res0: List[Symbol] = Li

scala中下划线的用法

1.作为"通配符",类似Java中的*.如import scala.math._ 2.:_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如val s = sum(1 to 5:_*)就是将1 to 5当作参数序列处理. 3.指代一个集合中的每个元素.例如我们要在一个Array a中筛出偶数,并乘以2,可以用以下办法: a.filter(_%2==0).map(2*_). 4.在元组中,可以用方法_1, _2, _3访问组员.如a._2.其中句点可以用空格替代. 5.使用