/**
* List基础操作
* Created by zhen on 2018/11/14.
*/
object ListDemo {
def main(args: Array[String]) {
val intList : List[Int] = List(1,3,5,6,7)
val list : List[String] = List("Spark","Hadoop","Scala","Tachyon")
// map
println(intList map (_ + 1)) // 遍历并执行操作,不修改原数据
println(intList)
println(list map (_.length)) // 求每个数据的长度
println(list map (_.toList.reverse.mkString))// 倒序
println(list map(_ toList))
// flatMap
println(list flatMap(_ toList))
// range
println(List.range(1,5))
println(List.range(1,5) flatMap(i => List.range(1,i)))
println(List.range(1,5) flatMap(i => List.range(1,i) map(j => (i,j))))
var sum = 0
List(1,2,3,4) foreach(sum += _)
println(sum)
// filter
println(List(1,2,3,4) filter(_ % 2 == 0))
println(list filter(_.length == 5))
// partition 数据拆分
println(intList partition(_ % 2 == 1))
// find 返回满足条件的第一个元素
println(intList find(_ <= 3))
// takeWhile 获取满足条件的数据
println(intList takeWhile(_ < 3))
// dropWhile 获取不满足条件的数据
println(intList dropWhile(_ < 3))
// span 数据拆分与partition功能类似
println(intList span(_ < 3))
// exists 判断是否存在满足的数据
println(list exists(s => s contains "o"))
println(list exists(s => s contains "ha"))
}
}

结果:

List基础操作的更多相关文章

  1. python基础操作以及hdfs操作

    目录 前言 基础操作 hdfs操作 总结 一.前言        作为一个全栈工程师,必须要熟练掌握各种语言...HelloWorld.最近就被"逼着"走向了python开发之路, ...

  2. MYSQL基础操作

    MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...

  3. 【Learning Python】【第二章】Python基础类型和基础操作

    基础类型: 整型: py 3.0解决了整数溢出的问题,意味着整型不必考虑32位,64位,有无符号等问题,你写一个1亿亿亿,就是1亿亿亿,不会溢出 a = 10 ** 240 print(a) 执行以上 ...

  4. Emacs学习心得之 基础操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础操作 1.前言与学习计划2.Emacs基础操作 一. 前言与学习计 ...

  5. Git基础操作

    配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...

  6. activiti基础操作

    package activitiTest; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInp ...

  7. 《Genesis-3D开源游戏引擎-官方录制系列视频教程:基础操作篇》

    注:本系列教程仅针对引擎编辑器:v1.2.2及以下版本 G3D基础操作   第一课<G3D编辑器初探> G3D编辑器介绍,依托于一个复杂场景,讲解了场景视图及其基本操作,属性面板和工具栏的 ...

  8. MYSQL 基础操作

    1.MySQL基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t1; --创建一个和t1一样的表,用like(表结构也一样 ...

  9. php之文件基础操作

    在php中对文件的基础操作非常的简单,php提供的函数粗略的用了一遍. file_get_contents():可以获取文件的内容获取一个网络资源的内容,这是php给我封装的一个比较快捷的读取文件的内 ...

  10. ArcGIS Pro 简明教程(2)基础操作和简单制图

    ArcGIS Pro 简明教程(2)基础操作和简单制图 By 李远祥 本章主要介绍ArcGIS Pro如何加载数据并进行简单的地图制作,以基本的操作为主. 上一章节介绍过,ArcGIS Pro是可以直 ...

随机推荐

  1. 欧拉函数(C语言实现)

    欧拉函数(Euler's totient function)是指小于n的正整数中与n互质的数的数目,用φ(n)表示.特别的,φ(1)=1: 例如:φ(10)=4:1 3 7 9与10互质. 公式:φ( ...

  2. [源码]K8 Cscan模块 C#获取内网主机IP/机器名/Banner/网页标题源码

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...

  3. 用synchronized同时修饰父类和子类,线程是安全的。即对象锁可重入

    public class SyncDubbo { static class Main { public int i = 10; public synchronized void operationSu ...

  4. odoo开发笔记 -- 进入后台调试模式

    ./odoo-bin shell -d test1 -c /home/odoo/odooshare/odoo.conf ./odoo-bin shell -d 数据库名 -c 指定配置文件

  5. mysql 开发进阶篇系列 31 工具篇(mysql连接工具与MyISAM表压缩工具)

    一.mysql 连接工具 在mysq提供的工具中,DBA使用最频繁的莫过于mysql.这里的mysql是指连接数据库的客户端工具. 1.1 连接选项 -u, -- user=name 指定用户名 -p ...

  6. 原创python:windows解决genymotion appium adb 的问题。

    首先请安装好genymotion 与并用其下载好要用的安卓版本. (其中Oracle VM VirtualBox可以自己单独安装也可以在下载genymotion时选择包含vbox的) 参考https: ...

  7. dart之旅(一)

    前言 最近在看 dart 了,本着 "纸上得来终觉浅,绝知此事 markdown" 的原则,准备边学边写,写一个系列,这是第一篇.学习过程中主要是参考 A Tour of the ...

  8. Android多线程编程<二>Handler异步消息处理机制之Message

      Message(消息):       一. Message的字段:    在Android中,Message作为线程之间(主要是子线程和UI主线程之间)数据交换的载体,通过Handler去传递.它 ...

  9. Emgucv学习系列之环境搭建

    Emgucv功能介绍 Emgucv是跨平台的,是Opencv的.net版本.可以对图片.视频等多媒体资源进行加工处理的SDK库. Emgucv下载和安装SDK 下载地址:https://sourcef ...

  10. 自己动手实现java数据结构(三) 栈

    1.栈的介绍 在许多算法设计中都需要一种"先进后出(First Input Last Output)"的数据结构,因而一种被称为"栈"的数据结构被抽象了出来. ...