文档章节

第九节:List-以及常规用法

牛马风情
 牛马风情
发布于 2017/05/12 20:19
字数 328
阅读 8
收藏 0

List 的值不能被改变

生成List

scala> var f=List("a","b","c")
f: List[String] = List(a, b, c)

scala> var n=List(1,2,3)
n: List[Int] = List(1, 2, 3)

遍历

scala> for(i<-n){println(i)}
1
2
3

使用:: Nil 构造List

scala> var num=1::2::3::4::Nil
num: List[Int] = List(1, 2, 3, 4)

scala> var num=1::(2::(3::(4::Nil)))
num: List[Int] = List(1, 2, 3, 4)

List 操作

//判断为空
scala> n.isEmpty
res14: Boolean = false

//得到头
scala> n.head
res15: Int = 1
//的到尾
scala> n.last
res19: Int = 3
//得到去掉头的List
scala> n.tail
res16: List[Int] = List(2, 3)
//得到去掉尾的List
scala> n.init
res17: List[Int] = List(1, 2)
//拼接
scala> List(1,2,3):::List(4,5,6)
res18: List[Int] = List(1, 2, 3, 4, 5, 6)
//倒叙
scala> n.reverse
res20: List[Int] = List(3, 2, 1)
//去掉前面n个
scala> n drop 1
res21: List[Int] = List(2, 3)
//得到前面n个
scala> f take 2
res22: List[String] = List(a, b)
// toArray
scala> f.toArray
res25: Array[String] = Array(a, b, c)

其他方法

//apply方法
scala>  List.apply(1, 2, 3)
res139: List[Int] = List(1, 2, 3)

//range方法,构建某一值范围内的List
scala>  List.range(2, 6)
res140: List[Int] = List(2, 3, 4, 5)

//步长为2
scala>  List.range(2, 6,2)
res141: List[Int] = List(2, 4)

//步长为-1
scala>  List.range(2, 6,-1)
res142: List[Int] = List()

scala>  List.range(6,2 ,-1)
res143: List[Int] = List(6, 5, 4, 3)

//构建相同元素的List
scala> List.make(5, "hey")
res144: List[String] = List(hey, hey, hey, hey, hey)

© 著作权归作者所有

共有 人打赏支持
牛马风情
粉丝 0
博文 10
码字总数 2865
作品 0
渭南
高级程序员
ASP.NET MVC深入浅出系列

一. ASP.NET体系   从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模式,ViewState功不可没,通过的控件的拖拽和绑定,很快就可以搭建...

Yaopengfei
06/20
0
0
史上最全互联网分布式缓存技术视频教程(redis、memcached、ssdb)

课程主讲: 互联网应用高级架构师 白贺翔 涉及技术: Redis、SSDB、Memcached课程描述: 介绍互联网分布式技术的重要性、背景、应用范围;目前互联网行业使用分布式缓存进行设计的比例,以及...

2846613430
2016/04/19
747
0
定时调度系列之Quartz.Net详解

一. 背景   我们在日常开发中,可能你会遇到这样的需求:"每个月的3号给用户发信息,提醒用户XXX "、"每天的0点需要统计前一天的考勤记录"、"每个月的1号计算上个月的库存情况"、"定时初始...

dotNET跨平台
06/24
0
0
从0行代码开发房卡棋牌(麻将等)系列教程

本课程从0开始讲解如何使用cocoscreator和nodejs打造商业级别的×××。课程由简入深的进行,课程学习完成后,基本具备了开发任意×××的能力。除此之外,最具核心竞争力的是,本系统支持人...

李鸡蛋
2017/12/28
0
0
《Django企业开发实战》大纲-草稿

《Django企业开发实战》大纲-草稿 the5fire的技术博客2017-07-2016 阅读 在国内写技术书籍可能是件吃力不讨好的事情,弄不好还会被骂,所以大部分有能力写书的人,不想在这个上面花那么多时间...

the5fire的技术博客
2017/07/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[Python进阶] Python命令行参数

Python 获得命令行参数的方法 需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys.argv[1] 参数2: sys.argv[2] 解析命令行参数 Python提供了一个getopt模块,可用于解...

Eappo_Geng
32分钟前
1
0
add docker api url to jenkins

add docker api url to jenkins add jenkins to dockergroup gpasswd -a $USER docker gpasswd -a jenkins docker DOCKER_OPTS="-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock" in ......

kewei_zhang
36分钟前
1
0
Scala入门篇

1、定义变量 var 可变 val 不可变,相当于Java中的final Unit相当于Java中的void,以()表示 scala> val a = println("ddd") ddd a: Unit = () 2,声明数组 scala> val arr = Array(1,2,3,4,5) ......

算法之名
36分钟前
8
0
利用redis统计分布式集群中接口缓存命中情况

接口使用了缓存,想看看缓存命中率,到底提升了多少了?固想到做个统计方法,单机情况下使用 AtomicImteger,考虑到分布式集群中多台服务器调用,所以考虑使用redis进行统计 原来的想法很简单用分布...

计算机的小二青年
36分钟前
2
0
前端加密JS库--CryptoJS 使用指南

有时候项目涉及到的敏感数据比较多,为了信息安全,我们常常需要对一些数据进行接口加密处理,如编码、将明文转化为暗文、加密比对、AES + BASE64 算法加密等。 Base64 编码 为什么要编...

舒龙虎
39分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部