列表操作
List() 或者是 Nil  空list
scala> val a = List()
a:List[Nothing] = List()
print(a.length) a.length = 0
scala> val b = Nil
b: scala.collection.immutable.Nil.type = List()
print(b.length) b.length = 0
val c = List("one","two","three")
//常见带有三个值的的新 List[String] 注意这是[]
val d = "one"::"two"::"three"::Nil
//同上 :: 为操作符,它是属于该操作符右边的操作数的方法。作用是把左边的元素加到右边的列表最前面。
val e = c:::d
//::: 把两个列表进行叠加 ["one","two","three","one","two","three"]
e(2)  // 返回 列表中索引为 2 的元素 类似于 python的  List[2]
e.count(s => s.length == 3) //计算e中长度为3 的字符串的的个数。 => 这个操作符以后再说。。。
val f = e.drop(2) //去掉 e 的前两个元素,并将新列表返回。注意:e 还是原来的那6个元素
val g = e.dropRight(2) //去掉 e 的最后两个元素。返回新列表。注意:e 还是原来的 e
e.exists(s => s == "haha") //返回一个布尔值,e中是否含有 "haha"这个元素
val h = e.filter(s => s.length == 5) //返回列表中长度为5 的元素,组成一个新列表。
e.forall(s => s.endswith("a")) // 返回一个布尔值, 列表中的所有元素是否都以 "a",结尾
e.foreach(s => print(s)) //对列表中的每个字符串都进行打印操作
e.foreach(print) //作用、效果同上。
val i = e.head // 返回 e 的第一个元素
val j = e.init //返回 e列表除了最后一个元素组成的新列表
e.isEmpth //返回一个布尔值,判断 e是否为空列表
val k = e.last //返回 e 的最后一个元素
e.length //返回 e 的长度。或者说是 元素个数
val l = e.map(s => s+"z")// 给e里面的每个元素末尾加一个“z”,返回一个新的列表
//如果将 + 换成 - 是不行的,因为String对象没有 - 方法
//如果 val l = e.map(s => "z") 那么将返回一个e.length个的“z” 组成的新列表。其实很好理解,就是挨个替换嘛
val m = e.mkString("----") //返回一个有“----”连接e中个元素的字符串。类似于python的join(“------”)
val n = e.reverse  //返回一个新列表,是e 内元素的逆序排列 。把python的sort方法中的 reverse参数拿出来了,成了方法
val o = e.tail //返回e中除了第一个所有的元素组成的列表。和 init相对

你会发现 List 没有append方法。但是通过 :: 方法和reverse 的结合使用,可以达到相同的效果。

还有一种 ListBuffer 可以提供append方法 ,然后调用toList 方法,这个以后介绍(ps:因为目前我也不知道

scala-学习 2的更多相关文章

  1. Scala学习资源

    Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter ...

  2. 【Todo】【读书笔记】大数据Spark企业级实战版 & Scala学习

    下了这本<大数据Spark企业级实战版>, 另外还有一本<Spark大数据处理:技术.应用与性能优化(全)> 先看前一篇. 根据书里的前言里面,对于阅读顺序的建议.先看最后的S ...

  3. 机器学习(三)--- scala学习笔记

    Scala是一门多范式的编程语言,一种类似Java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. Spark是UC Berkeley AMP lab所开源的类Had ...

  4. 【Scala】Scala学习资料

    Scala学习资料 java 树形 分类器_百度搜索 决策树分类器-Java实现 - CSDN博客 KNN分类器-Java实现 - CSDN博客 学习:java设计模式—分类 - 飞翔荷兰人 - 博客 ...

  5. Scala学习网址

    scala学习网址为:https://twitter.github.io/scala_school/zh_cn https://www.zhihu.com/question/26707124

  6. Spark之Scala学习

    1. Scala集合学习: http://blog.csdn.net/lyrebing/article/details/20362227 2. scala实现kmeans算法 http://www.t ...

  7. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

  8. Scala学习笔记及与Java不同之处总结-从Java开发者角度

    Scala与Java具有很多相似之处,但又有很多不同.这里主要从一个Java开发者的角度,总结在使用Scala的过程中所面临的一些思维转变. 这里仅仅是总结了部分两种语言在开发过程中的不同,以后会陆续 ...

  9. Scala学习(一)

    最近在学习Scala,总结了一下比较基础的知识. 一.Scala简介 1.Scalable Language,是一门多范式的编程语言,是一种纯面向对象的语言,每个值都是对象. 2.特点:①Scalab ...

  10. scala 学习笔记(04) OOP(上)主从构造器/私有属性/伴生对象(单例静态类)/apply方法/嵌套类

    一.主从构造器 java中构造函数没有主.从之分,只有构造器重载,但在scala中,每个类都有一个主构造器,在定义class时,如果啥也没写,默认有一个xxx()的主构造器 class Person ...

随机推荐

  1. [C++ Primer] : 第10章: 泛型算法

    概述 泛型算法: 称它们为"算法", 是因为它们实现了一些经典算法的公共接口, 如搜索和排序; 称它们是"泛型的", 是因为它们可以用于不同类型的元素和多种容器 ...

  2. js正则表达式30分钟入门教程

    2011-10-27 13:23:15 如何使用本教程 最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要 ...

  3. 微信小程序的视频教程

    极客学院小程序视频教程: 链接:https://pan.baidu.com/s/1VpKnvnsn-T6Nd79bsi4ugg 密码:0ta9 小程序项目实战: 链接:https://pan.baid ...

  4. java对含有中文的字符串进行Unicode编码

    public class MyUtil { public static void main(String[] args) throws Exception { String s = "a中a ...

  5. 2018-2019 网络对抗技术 20165226 Exp4:恶意代码分析

    2018-2019 网络对抗技术 20165226 Exp4:恶意代码分析 目录 一.实验内容说明及基础问题回答 二.实验过程 Task1 系统运行监控 结合windows计划任务与netstat命令 ...

  6. 【整理总结】代码沉淀 - CefSharp - 比较流行的第三方内嵌浏览器组件

    .NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework web: https://github.com/ce ...

  7. 理解Storm Metrics

    在hadoop中,存在对应的counter计数器用于记录hadoop map/reduce job任务执行过程中自定义的一些计数器,其中hadoop任务中已经内置了一些计数器,例如CPU时间,GC时间 ...

  8. python的高阶函数(map,reduce,filter)

    Map函数 Map()函数接受两个参数,第一个参数是函数,第二个参数是序列(list,tuple),map将函数依次作用到序列上的每一个元素上,并发结果作为新的list返回 其中map的第一个参数的函 ...

  9. redis实现分布式锁 转自importnew 记录一下

    前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...

  10. selenium+python自动化84-chrome手机wap模式(登录淘宝页面)

    前言 chrome手机wap模式登录淘宝页面,点击验证码无效问题解决. 切换到wap模式,使用TouchActions模块用tap方法触摸 我的环境 chrome 62 chromedriver 2. ...