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)

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

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

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

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

14.

Scala List 用法的更多相关文章

  1. Scala中“=>”用法及含义

    => has several meanings in Scala, all related to its mathematical meaning as implication. 1. In a ...

  2. scala函数用法

    直接上代码. package com.test.scala.test object Function { def main(args: Array[String]): Unit = { println ...

  3. scala combineByKey用法说明

    语法是: combineByKey[C](   createCombiner: V => C,   mergeValue: (C, V) => C,   mergeCombiners: ( ...

  4. 【Spark算子】:reduceByKey、groupByKey和combineByKey

    在spark中,reduceByKey.groupByKey和combineByKey这三种算子用的较多,结合使用过程中的体会简单总结: 我的代码实践:https://github.com/wwcom ...

  5. Chisel语言

    1 What is Chisel?      Chisel(Constructing Hardware In a Scala Embedded Language)是一种嵌入在高级编程语言Scala的硬 ...

  6. scala占位符_的用法

    占位符的用途颇多,先介绍几种常用的用法 1.作为"通配符",类似Java中的*.如import scala.math._2.:_*作为一个整体,告诉编译器你希望将某个参数当作参数序 ...

  7. Scala进阶之路-Scala中的枚举用法案例展示

    Scala进阶之路-Scala中的枚举用法案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Scala中的枚举值和Java中的枚举值有点差别,不过使用起来也都差大同小异,我这 ...

  8. Scala入门4(_的用法)

    从网上找了一篇博客,详细讲解了Scala下划线的用法,这里做保留 博客链接

  9. Scala中_(下划线)的常见用法

    Scala中_(下划线)的常见用法 地址:https://www.jianshu.com/p/0497583ec538

随机推荐

  1. HDU2586.How far away ?——近期公共祖先(离线Tarjan)

    http://acm.hdu.edu.cn/showproblem.php?pid=2586 给定一棵带权有根树,对于m个查询(u,v),求得u到v之间的最短距离 那么仅仅要求得LCA(u,v),di ...

  2. Hibernate_day04--HQL多表查询_Hibernate检索策略

    HQL多表查询 Mysql里面多表查询 1 内连接 查的是两个表关联的数据 2 左外连接 查的是左边表所有数据,右边表关联数据 3 右外连接 HQL实现多表查询 Hql多表查询 (1)内连接 (2)左 ...

  3. tinker

    Ios前一段时间因为热更新被强制下架也算是最大闻了,但Android没关系,继续玩 首先tinker比Andfix好多了,版本现在都到1.7.11了,Andfix不支持yunos, 现在项目中没有用到 ...

  4. NestedScrollView,RecyclerView

    为什么把它们放一起呢, 是因为它有着相同的特点 在新版的support-v4兼容包里面有一个NestedScrollView控件,这个控件其实和普通的ScrollView并没有多大的区别,这个控件其实 ...

  5. Cocos Studio编辑器运行日志路径

    有时候打开Cocos Studio直接崩溃,要想查找原因就要查log了,网上找了好久才找到日志路径,在你工作空间下面的CocosStudio2\logs. 工作空间就是安装时候设置的那个路径.

  6. public, protected, private,internal,protected internal的区别

    虽然这个知识比较简单, 但是老是会忘, 写上来, 增强记忆. 在C#语言中,共有五种访问修饰符:public.private.protected.internal.protected internal ...

  7. python真值表

    author:headsen chen  date :2018-06-01  10:53:39 notice:not allowed to copy or you will count law que ...

  8. 基于开源博客系统(jpress)搭建网站

    基于开源博客系统(jpress)搭建网站 JPress 使用 Java8 开发,基于流行的JFinal和Jboot框架. 目前JPress已经内置的文章和页面其实是两个模块,可以移除和新增其他模块,因 ...

  9. mybatis调用oracle存储过程例子.

    1.MYBATIS方法: <select id="getFlowNum" statementType="CALLABLE"> <![CDATA ...

  10. Windows10安装MySQL5.6.24

    1.解压安装包到指定目录如:E:\Java\mysql-5.6-24-win32 2.在E:\Java\mysql-5.6-24-win32目录下新建my.ini文件,内容如下 [mysqld] ba ...