Scala中的容器

collection.png

参考:
docs.collections
api.collections
scala学习笔记

  • 元素选择

    // 查看
    c.head / headOption           返回第一个元素 / Some(element)
    c.last / lastOption           返回最后一个元素 / Some(element)
    c.init / c.tail               除最后一个(第一个)外的其他元素
    c.slice(from, to)
    c.unzip、zipWithIndex、zip
    c.par  返回集合c的并行实现
    
    // 选择
    c.drop(n)
    c.dropWhile(p)
    c.take(n)
    c.takeWhile(p)
    c.filter(p)
    c.filterNot(p)
    
    // 统计
    c.exists(p)、c.forall(p)      存在元素满足条件p(or 全满足)
    c.isEmpty、nonEmpty      true / false
    c.min、max、sum、product      最小、最大、求和、乘积
    c.size、reverse、distinct      大小、反转、去重
    c.collect(p)      返回c中满足f函数的元素
    c.count(p)      返回c中和他们符合条件p的元素个数
    
    // 对每一个数据进行f操作
    c.foreach(f)
    c.flatten
    c.map(f)
    c.flattenMap(f)
    
    // 数据转换
    c.toSet
    c.mkString(", ")
    
    // 将数据分组
    c.span(p)     把集合分为两部分, 第一个集合是集合开始一直到第一个不满足p的元素之前,第二个集合是余下的元素
    c.splitAt(n)  把集合分为两部分,第一部分是从开始一直到第一个连续等于n的元素,余下为第二部分
    c.groupBy(f)
    c.partition(p)
    c.slide(window, step)
    
    // 连续操作   求和op:(x, y) => x + y
    c.reduceLeft(op)    c中元素从左到右执行op操作
    c.reduceRight(op)   c中元素从右到左执行op操作
    c.foldLeft(z)(op)   从z开始与c中元素从左到右执行op操作
    c.foldRight(z)(op)      从z开始与c中元素从右到左执行op操作
    
    // 增删改查
    var x = scala.collection.mutable.ArrayBuffer(1, 2)
    +、-、+=、++=、-=、--=
    append、appendAll
    insert、insertAll
    prepend、prependAll
    remove、trimStart、trimEnd
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。