原文链接: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中:: , +:, :+, :::, +++的区别相关推荐

  1. scala学习-scala中:: , +:, :+, :::, +++的区别

    4种操作符的区别和联系 :: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表.用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元素 ...

  2. 【视频】详解Scala中的类及与Java的详细区别

    详解Scala中的类及与Java的详细区别

  3. Scala中 class和case class的区别

    在Scala中存在case class,它其实就是一个普通的class.但是它又和普通的class略有区别,如下: 1.初始化的时候可以不用new,当然你也可以加上,普通类一定需要加new: scal ...

  4. Scala中Unit、Nothing和Null之间的区别概述

    在Scala中,Unit.Nothing和Null是三个比较特殊的数据类型,三者之间的区别如下: Unit 类似于Java中的void,表示没有返回值,用于不返回任何结果的方法的结果类型. 只有一个实 ...

  5. scala中val与def定义的区别

    scala中val与def定义的区别 变量 val定义一个不可改变的变量, def则是一个方法: //scala中定义: def main(args: Array[String]): Unit = { ...

  6. Scala中class与object区别

    calss scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set scala 中没有 static 关键字,所以 对于一个class来说,所有的方法和成员变量在实例被 new 出来 ...

  7. scala中class与object区别.

    calss scala编译器会字段帮我们生产一个私有字段和2个公有方法get和set scala 中没有 static 关键字,所以 对于一个class来说,所有的方法和成员变量在实例被 new 出来 ...

  8. Scala中Object和Class区别(伴生类和伴生对象)

    文章目录 一,介绍 二,类Class 2.1 类定义 2.2 构造器 1.基本语法 2.构造器参数 2.3 私有成员和Getter/Setter语法 三,单例对象Object 四,伴生对象和伴生类介绍 ...

  9. scala中sortBy与sortWith区别

    (1)Scala中sortBy是以方法的形式存在的,并且是作用在Array或List集合排序上,并且这个sortBy默认只能升序,除非实现隐式转换或调用reverse方法才能实现降序. (2)sort ...

最新文章

  1. Laravel Predis Error while reading line from the server.
  2. matlab 方波_MATLAB之Simulink(二)利用switch模块将正弦信号变为方波信号
  3. javascript:void到底是个什么?
  4. 声明变量_如果同时声明多个变量
  5. 弹性布局----Flex
  6. vert.x_使用vert.x 2.0,RxJava和mongoDB创建simpe RESTful服务
  7. Java Experiment 3 PairProgramming
  8. oracle 位移运算符,Oracle“(+)”运算符
  9. 软件测试 : 第5次作业 -- 基于Jmeter的 性能测试
  10. 计算机程序设计里的奇书
  11. pb 如何导出csv_《通讯录管理系统》之 5——数据导出
  12. iOS 获取设备的方向
  13. AliSQL主从复制
  14. 感性电路电流计算_电流、电压、电阻的关系和单位换算表
  15. Tomcat8出现To prevent a memory leak, the JDBC Driver has been forcibly unregistered
  16. JAVA跑步计时器app_坚持跑步神器app
  17. C语言-书籍资料汇总
  18. 从遗传力到肠菌力:概念及研究进展
  19. sap中re凭证是什么意思_SAP财务模块内有哪些凭证类型
  20. 阿里 P9 耗时 28 天,总结历年亿级活动高并发系统设计手册

热门文章

  1. oppo计算机的夜间模式,oppo夜间模式如何打开
  2. ajax需要引用什么js文件吗,如何在ajax调用中包含js文件?
  3. RN做的Android应用反编译,macOS Catalina配置Android反编译三件套 apktool/dex2jar/enjarify/jd-gui...
  4. python中while语句是_如何在Python中使用while语句[适合初学者]
  5. 最全的mysql 5.7.13_最全的mysql 5.7.13 安装配置方法图文教程(linux) 强烈推荐!
  6. 金蝶二次开发好跳槽吗_金蝶财务软件不会操作怎么办?
  7. 蓝牙耳机声音一顿一顿的_线控耳机党阵地转移成功,OPPO这款TWS耳机体验满分...
  8. 关于x86、x86_64/x64、amd64和arm64/aarch64
  9. php获取h1,jQuery获取h1-h6标题元素值方法实例
  10. java properties用法_java中Properties文件加载和使用方法