package com

/**
* Created by ZX on 2016/4/5.
*/
object ListTest {
def main(args: Array[String]) {
//创建一个List
val lst0 = List(1,7,9,8,0,3,5,4,6,2)
//将lst0中每个元素乘以10后生成一个新的集合
val lst01=lst0.map(_ * 10)
println("lst01"+lst01) val lst1 = lst0.map(x => x * 2)
//将lst0中的偶数取出来生成一个新的集合
val lst02=lst0.filter(_ % 2==0)
println("lst02"+lst02) val lst2 = lst0.filter(x => x % 2 == 0)
//将lst0排序后生成一个新的集合
//正序
val lst03=lst0.sorted
println("lst03"+lst03)
//倒序
val lst04=lst0.sorted.reverse
println("lst04"+lst04) val lst3 = lst0.sorted
val lst4 = lst0.sortBy(x => x)
val lst5 = lst0.sortWith((x, y) => x < y)
//反转顺序
val lst6 = lst3.reverse
//将lst0中的元素4个一组,类型为Iterator[List[Int]] val lst05=lst0.grouped(4)
// println("lst05"+lst05.toList) val it = lst0.grouped(4)
//将Iterator转换成List
val lst7 = it.toList
//将多个list压扁成一个List
val lst8 = lst7.flatten val lst06=lst05.toList.flatten
println("lst06"+lst06) //先按空格切分,在压平
val a = Array("a b c", "d e f", "h i j")
val lst07=a.flatMap(_.split(" "))
println("lst07"+lst07.toList.flatten) a.flatMap(_.split(" ")) lst0.reduce(_+_)
lst0.fold(10)(_+_) //并行计算求和
lst0.par.sum
lst0.par.map(_ % 2 == 0)
lst0.par.reduce((x, y) => x + y)
//化简:reduce
//将非特定顺序的二元操作应用到所有元素
val lst9 = lst0.par.reduce((x, y) => x + y)
//按照特定的顺序
val lst10 = lst0.reduceLeft(_+_) //折叠:有初始值(无特定顺序)
val lst11 = lst0.par.fold(100)((x, y) => x + y)
//折叠:有初始值(有特定顺序)
val lst12 = lst0.foldLeft(100)((x, y) => x + y) //聚合
val arr = List(List(1, 2, 3), List(3, 4, 5), List(2), List(0))
val result = arr.aggregate(0)(_+_.sum, _+_) val l1 = List(5,6,4,7)
val l2 = List(1,2,3,4)
//求并集
val r1 = l1.union(l2)
//求交集
val r2 = l1.intersect(l2)
//求差集
val r3 = l1.diff(l2)
val r4 = l2.diff(l1)
println(r1)
println(r2)
println(r3)
println(r4) val m = Map(("a", 1)) }
}
    val array = Array(1, 2, 3, 4, 5)
println(array.fold(0)(_ + _))
//结果15 0+1+2+3+4+5
    //并行集合
println(array.par.sum)
println(array.par.reduce(_+_))
println(array.reduceLeft(_+_))
println(array.foldLeft(10)(_+_))
    //聚合
val arrList=List(List(100,2,3),List(3,4,5),List(4,5))
val res=arrList.aggregate(10)(_+_.sum,_+_)
println(res)

大数据学习——scala集合练习的更多相关文章

  1. 大数据学习--day16(集合总体架构--ArrayList--LinkedList)

    集合总体架构--ArrayList--LinkedList Collection接口的实现类用法上都有相似的方法.Map同理. List: 特性 :      1. 有索引     2. 有序     ...

  2. 大数据学习——scala入门练习

    package com /** * Created by ZX on 2015/11/6. */ object VariableDemo { def main(args: Array[String]) ...

  3. 大数据学习——scala类相关操作

    1 类的定义 package com /** * Created by Administrator on 2019/6/3. */ //类并不用声明为public. class Person { // ...

  4. 大数据学习——scala数组

    package com import scala.collection.mutable.ArrayBuffer /** * Created by Administrator on 2019/4/8. ...

  5. 大数据学习——scala入门程序

    安装scala.msi https://blog.csdn.net/sinat_32867867/article/details/80305302 notepad++ object HelloScal ...

  6. 大数据学习——scala的wordCount小例子

    val lines=List("hello tom hello jerry","hello tom hello kitty hello china") //方法 ...

  7. 大数据学习——scala函数与方法

    package com /** * Created by Administrator on 2019/4/8. */ object TestMap { def ttt(f: Int => Int ...

  8. 大数据学习笔记——Java篇之集合框架(ArrayList)

    Java集合框架学习笔记 1. Java集合框架中各接口或子类的继承以及实现关系图: 2. 数组和集合类的区别整理: 数组: 1. 长度是固定的 2. 既可以存放基本数据类型又可以存放引用数据类型 3 ...

  9. 大数据学习:storm流式计算

    Storm是一个分布式的.高容错的实时计算系统.Storm适用的场景: 1.Storm可以用来用来处理源源不断的消息,并将处理之后的结果保存到持久化介质中. 2.由于Storm的处理组件都是分布式的, ...

随机推荐

  1. 纪念Google Reader—Google Reader的最后一天

    从2006年到今天,几乎每天我都会打开Google Reader,但是今天不一样,因为它是最后一天.心情有些依依不舍,像是与一位多年老朋友永别.因此我非常痛恨Google,先给你送来个好朋友,再从你身 ...

  2. iOS-浅谈runtime运行时机制02-runtime简单使用

    http://blog.csdn.net/jiajiayouba/article/details/44201079 由于OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方 ...

  3. Windows环境中,通过Charles工具,抓取安卓手机、苹果手机中APP应用的http、https请求包信息

    Windows环境中,通过Charles工具,抓取安卓手机.苹果手机中APP应用的http.https请求包信息1.抓取安卓手机中APP应用的http请求包信息1)在电脑上操作,查看Windows机器 ...

  4. 如何使用Java代码给图片增加倒影效果

    效果 倒影率为90%时的效果: 倒影率10%时的效果: 实现原理 倒影率作为参数rate 传入Reflection button的事件处理函数: CreateImageWithReflection这个 ...

  5. [机器学习] 简单的机器学习算法和sklearn实现

    机器学习基础算法理解和总结 KNN算法 理解 KNN其实是最好理解的算法之一,其实就是依次和空间中的每个点进行距离比较,取距离最近的N个点,看这N个点的类别,那么要判断的点的类别就是这N个点中类别占比 ...

  6. Ubuntu 忘记root user密码 关闭图形界面

    忘记root密码 删除recovery nomodeset 才删除的后面添加 quiet splash rw init=/bin/bash.然后按F10, 启动 忘记User密码 http://blo ...

  7. 超全的BAT一线互联网公司内部面试题库

    想进BAT吗?点击上方的蓝色文字关注我们后,马上 告诉你答案!! 欢迎收藏和专注本文,以后我们会陆续的整理和收集其他的公司的面试题,扩大我们的面试库,形成专栏. 这是由乐视网工程师整理的一份一线互联网 ...

  8. IntelliJ IDEA java设置程序运行时内存

    Run/Edit Configurations   Configuration/VM options  例如:设置运行内存为:-Xmx3m -Xms3m

  9. vue入坑教程(三)vue父子组件之间互相调用方法以及互相传递数据

    1.父组件调用子组件的方法 父组件: <template> <div> <button v-on:click="clickParent">点击& ...

  10. LINQ与反射

    string file = @"C:\Windows\winsxs\x86_netfx35linq-system.core_31bf3856ad364e35_6.1.7601.17514_n ...