任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~

把Scala List的几种常见方法梳理汇总如下,日常开发场景基本上够用了。

创建列表

scala> val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
days: List[String] = List(Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday)

创建空列表

scala> val l = Nil
l: scala.collection.immutable.Nil.type = List()scala> val l = List()
l: List[Nothing] = List()

用字符串创建列表

scala> val l = "Hello" :: "Hi" :: "Hah" :: "WOW" :: "WOOW" :: Nil
l: List[String] = List(Hello, Hi, Hah, WOW, WOOW)

用“:::”叠加创建新列表

scala> val wow = l ::: List("WOOOW", "WOOOOW")
wow: List[String] = List(Hello, Hi, Hah, WOW, WOOW, WOOOW, WOOOOW)

通过索引获取列表值

scala> l(3)
res0: String = WOW

获取值长度为3的元素数目

scala> l.count(s => s.length == 3)
res1: Int = 2

返回去掉l头两个元素的新列表

scala> l.drop(2)
res2: List[String] = List(Hah, WOW, WOOW)scala> l
res3: List[String] = List(Hello, Hi, Hah, WOW, WOOW)

返回去掉l后两个元素的新列表

scala> l.dropRight(2)
res5: List[String] = List(Hello, Hi, Hah)scala> l
res6: List[String] = List(Hello, Hi, Hah, WOW, WOOW)

判断l是否存在某个元素

scala> l.exists(s => s == "Hah")
res7: Boolean = true

滤出长度为3的元素

scala> l.filter(s => s.length == 3)
res8: List[String] = List(Hah, WOW)

判断所有元素是否以“H”打头

scala> l.forall(s => s.startsWith("H"))
res10: Boolean = false

判断所有元素是否以“H”结尾

scala> l.forall(s => s.endsWith("W"))
res11: Boolean = false

打印每个元素

scala> l.foreach(s => print(s + ' '))
Hello Hi Hah WOW WOOW

取出第一个元素

scala> l.head
res17: String = Hello

取出最后一个元素

scala> l.last
res20: String = WOOW

剔除最后一个元素,生成新列表

scala> l.init
res18: List[String] = List(Hello, Hi, Hah, WOW)

剔除第一个元素,生成新列表

scala> l.tail
res49: List[String] = List(Hi, Hah, WOW, WOOW)

判断列表是否为空

scala> l.isEmpty
res19: Boolean = false

获得列表长度

scala> l.length
res21: Int = 5

修改每个元素,再反转每个元素形成新列表

scala> l.map(s => {val s1 = s + " - 01"; s1.reverse})
res29: List[String] = List(10 - olleH, 10 - iH, 10 - haH, 10 - WOW, 10 - WOOW)

生成用逗号隔开的字符串

scala> l.mkString(", ")
res30: String = Hello, Hi, Hah, WOW, WOOW

反序生成新列表

scala> l.reverse
res41: List[String] = List(WOOW, WOW, Hah, Hi, Hello)

按字母递增排序

scala> l.sortWith(_.compareTo(_) < 0)
res48: List[String] = List(Hah, Hello, Hi, WOOW, WOW)

Scala常用List列表操作方法相关推荐

  1. R语言效用分析 ( 效能分析、Power analysis)确定样本量、假设检验与两类错误、pwr包进行效用分析 ( 效能分析、Power analysis)的常用函数列表

    R语言效用分析 ( 效能分析.Power analysis)确定样本量.假设检验与两类错误.pwr包进行效用分析 ( 效能分析.Power analysis)的常用函数列表 目录

  2. IntelliJ Idea 常用快捷键 列表

    IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!) 1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环.System.ou ...

  3. linux系统列表,Linux常用系统调用列表-20210415054405.docx-原创力文档

    Linux Linux常用系统调用列表作者:雷震 2002年3月 本文列出了大部分常见的Linux系统调用,并附有简要中文说明. 以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调 ...

  4. WordPress 常用快捷键列表

    Toy Posted in Tips WordPress 是此刻极度流行的 Blog 体系按次.在运用它的进程中,我发现,在配景撰文时经过运用快捷键举办操纵切实其实可以带来不小的服从提拔.以下是我整顿 ...

  5. FreeBSD系统常用软件列表

    FreeBSD系统常用软件列表 用ports来编辑安装,但如xfce那些则建议直接pkg安装. 下列列表序号为安装顺序 01. sudo 02. vim-lite (注:若用pkg则装vim,port ...

  6. IntelliJ Idea学习笔记001--- IntelliJ Idea常用快捷键列表

    1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环.System.out.main方法等boilerplate样板代码  例如要输入for( ...

  7. Scala可变参数列表

    2019独角兽企业重金招聘Python工程师标准>>> Scala可变参数列表 Scala函数支持的可变参数列表,命名参数和参数缺省值定义. 重复参数 Scala在定义函数时允许指定 ...

  8. 关于常用颜色小聚:有据说是令人舒服的颜色值,有R G B 常用颜色列表

    R G B 常用颜色列表 转载:https://blog.csdn.net/Kevin_Rao/article/details/38944363 (更多内容看原文https://blog.csdn.n ...

  9. Java开发常用软件列表——持续更新

    Java开发常用工具列表 Typora 一款支持Markdown语法的本地文本编辑器,比较适合用来写工作日志. Clover 三叶草,可以把Windows文件夹像浏览器一样用标签组织起来,体验确实能够 ...

  10. 计算机中常用软件列表,详解win10中常用软件列表不要在任务栏显示的方法

    我们在win10系统的使用中,在win10的界面中我们经常使用软件在电脑任务栏中会在电脑中显示,那很多的小伙伴在电脑中是不想要显示的遇到这个问题我们怎么取消这个常用的软件在任务栏一直显示的情况呢,今天 ...

最新文章

  1. 我也没想到 springboot + rabbitmq 做智能家居,会这么简单
  2. mysql各个组件的作用
  3. 介绍一个修改 Visual Studio Code 侧边框颜色的扩展 Peacock
  4. 计算机组成原理整机实验报告,计算机组成原理加器实验报告.doc
  5. java for循环前面label_Java 实例
  6. vba 检查一个文件夹中的文件在另一个文件夹中是否存在(不含扩展名)
  7. Mongodb最基础入门教程
  8. 经典案例:如何优化Oracle使用DBlink的SQL语句
  9. HTTPS中间人攻击实践(原理·实践)
  10. springboot文件上传和下载工具_SpringBoot图文教程7—SpringBoot拦截器的使用姿势这都有...
  11. 在Azure Cloud Service中部署Java Web App(2)
  12. 全网首发:使用命令行编译VS工程为Win32/x64
  13. 放苹果(整数划分变形题 水)poj1664
  14. hadoop学习路线图
  15. Python : 批量替换代码文件内容,批量移动/覆盖文件
  16. html关于点击radio触发事件
  17. 使用微软TTS语音引擎实现文本朗读
  18. 常用ES6语法归纳总结!
  19. git分支代码提交主干
  20. iPad安卓协议是怎么实现功能的

热门文章

  1. (O)JS核心:call、apply和bind
  2. C++的函数指针的使用(仍存在问题)
  3. Metasploit应用举例
  4. (补充知识)DLL 中 .DEF文件的使用
  5. SQL导入/导出Excel
  6. Xcode 7.3 解决自定义类无法自动联想
  7. cocos2d-x 3.2 DrawNode 绘图API
  8. 兄弟姐妹们,祝大家圣诞节快乐!
  9. Win10使用tensorflow出现ImportError: DLL load failed: 动态链接库(DLL)初始化例程失败
  10. 【论文解读】图文并茂带你细致了解ELMo的各种细节