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)
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 用法的更多相关文章
- Scala中“=>”用法及含义
=> has several meanings in Scala, all related to its mathematical meaning as implication. 1. In a ...
- scala函数用法
直接上代码. package com.test.scala.test object Function { def main(args: Array[String]): Unit = { println ...
- scala combineByKey用法说明
语法是: combineByKey[C]( createCombiner: V => C, mergeValue: (C, V) => C, mergeCombiners: ( ...
- 【Spark算子】:reduceByKey、groupByKey和combineByKey
在spark中,reduceByKey.groupByKey和combineByKey这三种算子用的较多,结合使用过程中的体会简单总结: 我的代码实践:https://github.com/wwcom ...
- Chisel语言
1 What is Chisel? Chisel(Constructing Hardware In a Scala Embedded Language)是一种嵌入在高级编程语言Scala的硬 ...
- scala占位符_的用法
占位符的用途颇多,先介绍几种常用的用法 1.作为"通配符",类似Java中的*.如import scala.math._2.:_*作为一个整体,告诉编译器你希望将某个参数当作参数序 ...
- Scala进阶之路-Scala中的枚举用法案例展示
Scala进阶之路-Scala中的枚举用法案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Scala中的枚举值和Java中的枚举值有点差别,不过使用起来也都差大同小异,我这 ...
- Scala入门4(_的用法)
从网上找了一篇博客,详细讲解了Scala下划线的用法,这里做保留 博客链接
- Scala中_(下划线)的常见用法
Scala中_(下划线)的常见用法 地址:https://www.jianshu.com/p/0497583ec538
随机推荐
- 【BZOJ3622】已经没有什么好害怕的了 容斥+DP
[BZOJ3622]已经没有什么好害怕的了 Description Input Output Sample Input 4 2 5 35 15 45 40 20 10 30 Sample Output ...
- 小程序用scroll-view的scroll-to-view属性实现锚链接跳转
小程序没有锚链接,通过scroll-view可以实现类似锚链接的功能,点击锚链接,滚动条滚动到相应的位置 wxml <view class="wrap"> <!- ...
- js判断对象数组中是否存在某个对象
1. 如果要判断数组中是否存在某个元素的话很好判断,直接用数组的indexOf方法就好,存在返回当前索引不存在返回-1 var arr=[1,2,3,4] arr.indexOf(3) arr.ind ...
- Spring--简记
Spring通过一个配置文件描述Bean及Bean之间的依赖关系,利用Java语言的反射功能实例化Bean并建立Bean之间的依赖关系. Spring的IoC(控制反转)容器提供了Bean实例缓存.生 ...
- CodeForces 651 A Joysticks
A. Joysticks time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- Ubuntu安装谷歌输入法或者搜狗
1.进入系统先更软件更新器这个在系统计算机中搜索,点击就好了 2.先添加以下源sudo add-apt-repository ppa:fcitx-team/nightly 3.添加源之后需要更新一下系 ...
- synchronized和volatile的使用方法以及区别
先看看下面的例子: public class ThreadTest { public static void main(String[] args) { final Counter counter = ...
- Python 3.5 中的异步HTTP请求写法
Python 3.5 增加了对async def and await的支持,同样的异步代码看起来干净了很多,也更易读. import aiohttp import asyncio async def ...
- Java 代码实现Http 的GET和POST 请求
先来个传统的,不过这个里面有些类已经标明 deprecated,所以之后还有更好的方法,起码没有被标明 deprecated的类和方法. 前两个方法是有deprecated的情况.后面用HttpURL ...
- PCI 设备详解三
上篇文章已经分析了探测PCI总线的部分代码,碍于篇幅,这里另启一篇.重点分析下pci_scan_root_bus函数 2016-10-24 pci_scan_root_bus函数 struct pci ...