scala中:: , +:, :+, :::, +++的区别
原文链接:https://segmentfault.com/a/1190000005083578
-------------------------------------------------------------
4种操作符的区别和联系
::
该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表。用法为x::list
,其中x
为加入到头部的元素,无论x
是列表与否,它都只将成为新生成列表的第一个元素,也就是说新生成的列表长度为list的长度+1(btw,x::list
等价于list.::(x)
):+
和+:
两者的区别在于:+
方法用于在尾部追加元素,+:
方法用于在头部追加元素,和::
很类似,但是::
可以用于pattern match ,而+:
则不行. 关于+:
和:+
,只要记住冒号永远靠近集合类型就OK了。++
该方法用于连接两个集合,list1++list2
:::
该方法只能用于连接两个List类型的集合
具体示例
scala> "A"::"B"::Nil
res0: List[String] = List(A, B)scala> "A"+:"B"+:Nil
res1: List[String] = List(A, B)scala> Nil:+"A":+"B"
res2: List[String] = List(A, B)scala> res0 ++ res1
res3: List[String] = List(A, B, A, B)scala> res0 ::: res1
res4: List[String] = List(A, B, A, B)scala> res0 :: res1
res5: List[java.io.Serializable] = List(List(A, B), A, B)
scala中:: , +:, :+, :::, +++的区别相关推荐
- scala学习-scala中:: , +:, :+, :::, +++的区别
4种操作符的区别和联系 :: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表.用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元素 ...
- 【视频】详解Scala中的类及与Java的详细区别
详解Scala中的类及与Java的详细区别
- Scala中 class和case class的区别
在Scala中存在case class,它其实就是一个普通的class.但是它又和普通的class略有区别,如下: 1.初始化的时候可以不用new,当然你也可以加上,普通类一定需要加new: scal ...
- Scala中Unit、Nothing和Null之间的区别概述
在Scala中,Unit.Nothing和Null是三个比较特殊的数据类型,三者之间的区别如下: Unit 类似于Java中的void,表示没有返回值,用于不返回任何结果的方法的结果类型. 只有一个实 ...
- scala中val与def定义的区别
scala中val与def定义的区别 变量 val定义一个不可改变的变量, def则是一个方法: //scala中定义: def main(args: Array[String]): Unit = { ...
- Scala中class与object区别
calss scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set scala 中没有 static 关键字,所以 对于一个class来说,所有的方法和成员变量在实例被 new 出来 ...
- scala中class与object区别.
calss scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set scala 中没有 static 关键字,所以 对于一个class来说,所有的方法和成员变量在实例被 new 出来 ...
- Scala中Object和Class区别(伴生类和伴生对象)
文章目录 一,介绍 二,类Class 2.1 类定义 2.2 构造器 1.基本语法 2.构造器参数 2.3 私有成员和Getter/Setter语法 三,单例对象Object 四,伴生对象和伴生类介绍 ...
- scala中sortBy与sortWith区别
(1)Scala中sortBy是以方法的形式存在的,并且是作用在Array或List集合排序上,并且这个sortBy默认只能升序,除非实现隐式转换或调用reverse方法才能实现降序. (2)sort ...
最新文章
- Laravel Predis Error while reading line from the server.
- matlab 方波_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号
- javascript:void到底是个什么?
- 声明变量_如果同时声明多个变量
- 弹性布局----Flex
- vert.x_使用vert.x 2.0,RxJava和mongoDB创建simpe RESTful服务
- Java Experiment 3 PairProgramming
- oracle 位移运算符,Oracle“(+)”运算符
- 软件测试 : 第5次作业 -- 基于Jmeter的 性能测试
- 计算机程序设计里的奇书
- pb 如何导出csv_《通讯录管理系统》之 5——数据导出
- iOS 获取设备的方向
- AliSQL主从复制
- 感性电路电流计算_电流、电压、电阻的关系和单位换算表
- Tomcat8出现To prevent a memory leak, the JDBC Driver has been forcibly unregistered
- JAVA跑步计时器app_坚持跑步神器app
- C语言-书籍资料汇总
- 从遗传力到肠菌力:概念及研究进展
- sap中re凭证是什么意思_SAP财务模块内有哪些凭证类型
- 阿里 P9 耗时 28 天,总结历年亿级活动高并发系统设计手册
热门文章
- oppo计算机的夜间模式,oppo夜间模式如何打开
- ajax需要引用什么js文件吗,如何在ajax调用中包含js文件?
- RN做的Android应用反编译,macOS Catalina配置Android反编译三件套 apktool/dex2jar/enjarify/jd-gui...
- python中while语句是_如何在Python中使用while语句[适合初学者]
- 最全的mysql 5.7.13_最全的mysql 5.7.13 安装配置方法图文教程(linux) 强烈推荐!
- 金蝶二次开发好跳槽吗_金蝶财务软件不会操作怎么办?
- 蓝牙耳机声音一顿一顿的_线控耳机党阵地转移成功,OPPO这款TWS耳机体验满分...
- 关于x86、x86_64/x64、amd64和arm64/aarch64
- php获取h1,jQuery获取h1-h6标题元素值方法实例
- java properties用法_java中Properties文件加载和使用方法