參考:
docs.collections
api.collections
scala學(xué)習(xí)筆記
-
元素選擇
// 查看 c.head / headOption 返回第一個(gè)元素 / Some(element) c.last / lastOption 返回最后一個(gè)元素 / Some(element) c.init / c.tail 除最后一個(gè)(第一個(gè))外的其他元素 c.slice(from, to) c.unzip担巩、zipWithIndex崇渗、zip c.par 返回集合c的并行實(shí)現(xiàn) // 選擇 c.drop(n) c.dropWhile(p) c.take(n) c.takeWhile(p) c.filter(p) c.filterNot(p) // 統(tǒng)計(jì) c.exists(p)、c.forall(p) 存在元素滿足條件p(or 全滿足) c.isEmpty档悠、nonEmpty true / false c.min贴铜、max涯塔、sum找爱、product 最小、最大掘殴、求和蝠嘉、乘積 c.size、reverse杯巨、distinct 大小蚤告、反轉(zhuǎn)、去重 c.collect(p) 返回c中滿足f函數(shù)的元素 c.count(p) 返回c中和他們符合條件p的元素個(gè)數(shù) // 對每一個(gè)數(shù)據(jù)進(jìn)行f操作 c.foreach(f) c.flatten c.map(f) c.flattenMap(f) // 數(shù)據(jù)轉(zhuǎn)換 c.toSet c.mkString(", ") // 將數(shù)據(jù)分組 c.span(p) 把集合分為兩部分, 第一個(gè)集合是集合開始一直到第一個(gè)不滿足p的元素之前服爷,第二個(gè)集合是余下的元素 c.splitAt(n) 把集合分為兩部分杜恰,第一部分是從開始一直到第一個(gè)連續(xù)等于n的元素获诈,余下為第二部分 c.groupBy(f) c.partition(p) c.slide(window, step) // 連續(xù)操作 求和op:(x, y) => x + y c.reduceLeft(op) c中元素從左到右執(zhí)行op操作 c.reduceRight(op) c中元素從右到左執(zhí)行op操作 c.foldLeft(z)(op) 從z開始與c中元素從左到右執(zhí)行op操作 c.foldRight(z)(op) 從z開始與c中元素從右到左執(zhí)行op操作 // 增刪改查 var x = scala.collection.mutable.ArrayBuffer(1, 2) +、-心褐、+=舔涎、++=、-=逗爹、--= append亡嫌、appendAll insert、insertAll prepend掘而、prependAll remove挟冠、trimStart、trimEnd