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. ecshop分类页把分类描述改成FCKeditor编辑器

    最近放一个网站 http://www.macklin.cn/productline/35 有个产品分类页面需要添加分类缩略图和图文的描述 一.首先说下添加分类缩略图的步骤吧 1,依葫芦画瓢,参照的是e ...

  2. python-day1作业(感谢视频老师留的作业)

    __author__ = 'zht' #!/usr/bin/env python # -*- coding: utf-8 -*- ''' #努力学习每一天 ''' #尝试次数计数器 tries = 0 ...

  3. 数据库之存储过程-- 基于MySQL

    存储过程基本语法 create procedure procedure_name  [;number] [{@parameter data_type}[varying][=default][outpu ...

  4. Vue风格指南总结及对应ESLint规则配置

    全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/10906951.html,多谢,=.=~ 必要的:规避错误: 强烈推荐:改善可读性和开发体验: 推 ...

  5. servlet的重定向和作用域

    <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...

  6. COGS 1215. [Tyvj Aug11] 冗余电网

    ★   输入文件:ugrid.in   输出文件:ugrid.out   简单对比时间限制:1 s   内存限制:128 MB TYVJ八月月赛提高组第2题 测试点数目:5 测试点分值:20 --内存 ...

  7. UVA 1613 K-Graph Oddity K度图着色 (构造)

    题意:在一个n个点的无向连通图中,n是奇数,k是使得所有点的度数不超过k的最小奇数,询问一种染色方案,使得相邻点的颜色不同. 题解:一个点和周围的点的颜色数加起来最大为它的度数+1:如果最大度数是偶数 ...

  8. CF Gym 100637G \#TheDress (水)

    题解:读懂题意按照题意模拟... 熟悉了一个库函数,strstr,memcpy #include<cstdio> #include<cstring> int main() { ...

  9. UML各种图总结

    UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明.可视化.和编制文档的一种标准语言.下面将对UML的九种图+包图的基本概念进行介绍以及各 ...

  10. cocos2dx通过ndk编译c++库

    ndk编译c++库,然后通过jni调用实现重要代码封装,是安卓应用中最常用的技术,一方面可以将重要的代码实现隐藏,防止泄漏,也可以提高打包速度. ndk里面的sample文件夹中有很多实用的例子,其中 ...