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)

最新文章

  1. 查看openssl的版本
  2. 第十八周个人作业--The Final
  3. lua实现深度拷贝table表
  4. HDOJ 4389 X mod f(x)
  5. tp框架表单验证
  6. easyui grid中翻页多选方法
  7. HashSet的实现原理
  8. 深搜最基础题---全排列And组合数
  9. Android 开发笔记“context和getApplicationContext”
  10. Vue使用Echarts以及Echarts配置分享
  11. PHP 匿名函数使用技巧
  12. Kafka#4:存储设计 分布式设计 源码分析
  13. Java编程基础篇第三章
  14. HashMap分析及散列的冲突处理
  15. fatal error: vector: No such file or directory
  16. 关于STRUCT优化的一个点
  17. drupal drush 在windows下的安装和配置
  18. 嵌入式开发之视频压缩比---h264、mjpeg、mpeg4
  19. Java 去除List列表中的重复项
  20. LINQ to Entities does not recognize the method , and this method cannot be translated into a store expression 解决办法

热门文章

  1. 根据用户ID生成不重复的最小6位随机邀请码
  2. 常用的图片相关方法,读取,保存,压缩,缩放,旋转,drawable转化
  3. redis 知识归档
  4. 编写C#程序,自动将bing首页图片设为壁纸
  5. 给广大码农分享福利:一个业界良心的github仓库,中文计算机资料
  6. cv2.minAreaRect() 生成最小外接矩形
  7. Spark集锦
  8. 《剑指offer》51:数组中的逆序对
  9. 计算机视觉2D几何基元及其变换介绍和OpenCV WarpPerspective源码分析
  10. 01_5_SERVLET为什么有2个init方法