博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
scala编程第16章学习笔记(4)——List对象的方法
阅读量:4332 次
发布时间:2019-06-06

本文共 1309 字,大约阅读时间需要 4 分钟。

通过元素创建列表:List.apply

List(1, 2, 3) 等价于List.apply(1, 2, 3):

scala> List.apply(1, 2, 3)res0: List[Int] = List(1, 2, 3)

创建数值范围:List.range

List.range(from, until),可以创建从from开始到until减一的所有数值的列表。注:尾部until不在范围之内。

还有一个版本的range可以带step值作为第三参数。这个操作可以产生从from开始的,间隔为step的列表元素。step可以为正,也可以为负:

scala> List.range(1, 5)res1: List[Int] = List(1, 2, 3, 4)scala> List.range(1, 9, 2)res2: List[Int] = List(1, 3, 5, 7)scala> List.range(9, 1, -3)res3: List[Int] = List(9, 6, 3)

 

解除啮合列表:List.unzip

unzip操作是zip的相反。zip把两个列表组成对偶列表,unzip把对偶列表拆分还原为两个列表,其中一个列表由每对对偶的第一个元素组成,另一个由第二个元素组成:

scala> val zipped = "abcde".toList zip List(1, 2, 3)zipped: List[(Char, Int)] = List((a,1), (b,2), (c,3))scala> zipped.unzipres5: (List[Char], List[Int]) = (List(a, b, c),List(1, 2, 3))

 连接列表:List.flatten、List.concat

flatten方法以列表的列表做参数,并把所有的元素列表连接在一起。举例如下:

scala> val xss = List(List('a', 'b'), List('c'), List('d', 'e')) xss: List[List[Char]] = List(List(a, b), List(c), List(d, e)) scala> xss.flattenres7: List[Char] = List(a, b, c, d, e)

concat方法与flatten类似,它能够连接多个元素列表。将多个列表以重复参数的形式直接传递给方法。数量不限:

scala> List.concat(List('a', 'b'), List('c'))res9: List[Char] = List(a, b, c)scala> List.concat(List(), List('b'), List('c'))res10: List[Char] = List(b, c)scala> List.concat()res11: List[Nothing] = List()

 

转载于:https://www.cnblogs.com/gaopeng527/p/4111007.html

你可能感兴趣的文章
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_20、SpringBoot2.x配置全局异常实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_23、SpringBoot2.x启动原理概述...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_34、SpringBoot整合Mybatis实操和打印SQL语句...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_35、事务介绍和常见的隔离级别,传播行为...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_42、SpringBoot常用定时任务配置实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第14节 高级篇幅之SpringBoot多环境配置_59、SpringBoot多环境配置介绍和项目实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_41、SpringBoot定时任务schedule讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_43、SpringBoot2.x异步任务实战(核心知识)...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第11节 Logback日志框架介绍和SpringBoot整合实战_45、SpringBoot2.x日志讲解和Logback配置实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_汇总
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_2_01传统架构演进到分布式架构
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_2_02 微服务核心基础讲解
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计...
查看>>