参考:
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