package com.bigdata

object ListO {
def main(args: Array[String]): Unit = {
println()
} val list = List(1,2,3,4)
for (i <- list) println(i)
//添加元素
val list1 = 0::list
for (i <- list1) println(i)
//合并list
val list2 = List("x","y","z")
val list3 = list ::: list2
for (i <- list3) println(i) println(list.head) // 返回第一个元素
println(list.tail) // 返回除第一个元素的List
println(list.isEmpty) // 判断List是否为空 // filter高阶函数:他的参数就是一个匿名函数,匿名参数输入参数x就代表的是列表中的一个元素,
// filter会遍历列表中的每个元素,每个元素就去套用传进来的匿名函数的判断条件,如果判断为true就保留这个元素
val list4 = list.filter(x => x%2 == 0) // 取出List中的偶数;
val list5 = list.filter(_ %2 ==0) // filter简写
println(list4)
println(list5) val str = "123 hello scala 168" // 过滤字符串中的数字
val f = str.toList.filter(x => Character.isDigit(x))
println(f) val g = str.toList.takeWhile(x => x != 's') // 取到某个字符之前的所有字符
println(g) val h = list2.map(x => x.toUpperCase()) // map高阶函数:将每个元素进行转换映射
val h1 = list2.map(_.toUpperCase()) // map简写
println(h,h1) val k = list.filter(_ % 2 ==0).map(_ +100) // 取出列表中的偶数,并且为每个元素加上100
println(k) val q = List(list,List(4,5,6)) // 两层List
val r = q.map(x => x.filter(y => y % 2 == 0 )) // 取出q中的所有偶数;第一步:map获取每个list,第二步:filter过滤每个list中的偶数元素
val r1 = q.map(_.filter(_ % 2 ==0)) // 简写
println(r)
println(r1) val p = q.flatMap(_.filter(_ % 2 == 0)) // flatMap高阶函数:是将List中的结果打平
println(p) // 总结map与flatMap区别
// map:返回的结果和原List结构一致,如果是两层,返回的就是两层;r: List[List[Int]] = List(List(2,4), List(4, 6))
// flatMap:返回的结果只有一层List结构; p: List[Int] = List(2, 4, 4, 6) // 规约操作:reduceLeft(op:(T,T) => T)
val m = list.reduceLeft((x,y) => x + y) // 求List中元素的和
val m1 = list.reduceLeft(_ + _) // reduceLeft简写
println(m)
println(m1) // 规约操作:foldLeft(z:U)(op:(U,T)) => U
val n = list.foldLeft(0) ((x,y) => x+y) // 求List中元素的和
val n1 = list.foldLeft(0)(_+_) // 简写
println(n)
println(n1) }

Scala-列表操作的更多相关文章

  1. react实例之todo,做一个实时响应的列表操作

    react实例之todo, 做一个实时响应的列表操作 在所有的mvc框架中,最常见的例子不是hello world,而是todo,由于reactjs的简单性,在不引用flux和redux的情况下,我们 ...

  2. TCL语言笔记:TCL中的列表操作

    一.介绍 列表则是具有特殊解释的字符串.Tcl 中的列表操作和其它 Tcl 命令一样具有相同的结构.列表可应用在诸如 foreach 这样的以列表为变元的循环命令中,也应于构建 eval 命令的延迟命 ...

  3. Python 基础篇:字符串、列表操作

    字符串操作 判断是否为数字 string = "200" string.isdigit() >>false 待完善.. 列表操作 列表是我们最以后最常用的数据类型之一, ...

  4. 征服 Redis + Jedis + Spring (三)—— 列表操作【转】

    一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 相关链接: 征服 Redis 征服 Re ...

  5. python学习笔记——列表操作

    python列表操作——增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] ...

  6. Python中的列表操作

    Python的列表操作可谓是功能强大且方便(相对于Java)简单.常规的操作就不说了(这不是一个入门教程),介绍几个很有特点的例子 添加 # 追加到结尾(append) li = [1, 2, 3, ...

  7. [Python Study Notes]列表操作

    列表操作 a.切片 >>> names = ["Alex","Tenglan","Eric","Rain&quo ...

  8. day6(列表操作、列表练习题)

    一.列表操作 a) 循环 基本语法 for i in  value : L1 =['a','b','c','d',1,2,3,4,5,6,'b','D'] for i in L1: print(i) ...

  9. Python列表操作集合

    对于python列表里元素的操作主要分为以下几个方面: 1.向列表里面加元素: 向python列表里面添加元素主要有三种方法: (1)append() append()对于列表的操作主要实现的是在特定 ...

  10. python数据类型(字符串、列表操作)

    一.整形和浮点型整形也就是整数类型(int)的,在python3中都是int类型,没有什么long类型的,比如说存年龄.工资.成绩等等这样的数据就可以用int类型,有正整数.负整数和0,浮点型的也就是 ...

随机推荐

  1. linux 安装 zookeeper 集群

    关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.servicesystemctl status firewalld ...

  2. Acticity的生命周期和启动模式

    典型情况下的生命周期 onCreate 表示创建Acticity,在这个方法中可以做一些初始化的操作,如加载界面布局资源,初始化Activity所需的数据 onRestart 表示重新启动Activi ...

  3. 数据可视化d3.v4.js

    <html> <head> <meta charset="utf-8"> <title>做一个简单的条形图</title> ...

  4. LeetCode 题解之Find Peak Element

    1.题目描述 2.题目分析 在数组的首尾各加入INT_MIN ,然后遍历数组. 3.代码 int findPeakElement(vector<int>& nums) { ) ; ...

  5. ASP.NET Core 系列[1]:ASP.NET Core 初识

    ASP.NET Core 是一个跨平台的高性能开源框架,是一个用于连接到互联网的基于云的现代应用程序. ASP.NET Core 用于构建如 Web 应用.物联网(IoT)应用和移动后端应用,这些应用 ...

  6. Oracle EBS 报错 您不具有分配给您的清除MDS的权限

  7. docker集群部署

    一.使用自定义网桥连接跨主机容器 要是Linux可以工作在网桥模式,必须安装网桥工具bridge-utils,运行命令:# yum install bridge-utils 查看桥连状态:# brct ...

  8. 在table中选中某条数据,让其显示对应详细信息

    在第一个页面中使用 ccms.dialog.open({url:url+$(this).attr("code"),id:"dialogPic",width:10 ...

  9. 解析UIControl

    解析UIControl 从下图可以看出,UIControl继承自UIView,添加了响应事件功能. UIButton之所以能响应各种各样的事件是因为继承自UIControl 使用UIControl可以 ...

  10. 详细说明php的4中开源框架(TP,CI,Laravel,Yii)

    ThinkPHP简称TP,TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需要一个入口文件,一起搞定,简单高效.中文文档齐全,入门超级简单.自带模板引擎,具有独特的数据验证和 ...