抽象方法:
xs foreach f
对xs中的每一个元素执行函数f
加运算(Addition):
xs ++ ys
生成一个由xs和ys中的元素组成容器。ys是一个TraversableOnce容器,即Taversable类型或迭代器。
Maps:
xs map f
通过函数xs中的每一个元素调用函数f来生成一个容器。
xs flatMap f
通过对容器xs中的每一个元素调用作为容器的值函数f,在把所得的结果连接起来作为一个新的容器。
xs collect f
通过对每个xs中的符合定义的元素调用偏函数f,并把结果收集起来生成一个集合。
转换(Conversions):
xs.toArray
把容器转换为一个数组
xs.toList
把容器转换为一个list
xs.toIterable
把容器转换为一个迭代器。
xs.toSeq
把容器转换为一个序列
xs.toIndexedSeq
把容器转换为一个索引序列
xs.toStream
把容器转换为一个延迟计算的流。
xs.toSet
把容器转换为一个集合(Set)。
xs.toMap
把由键/值对组成的容器转换为一个映射表(map)。如果该容器并不是以键/值对作为元素的,那么调用这个操作将会导致一个静态类型的错误。
拷贝(Copying):
xs copyToBuffer buf
把容器的所有元素拷贝到buf缓冲区。
xs copyToArray(arr, s, n)
拷贝最多n个元素到数组arr的坐标s处。参数s,n是可选项。
大小判断(Size info):
xs.isEmpty
测试容器是否为空。
xs.nonEmpty
测试容器是否包含元素。
xs.size
计算容器内元素的个数。
xs.hasDefiniteSize
如果xs的大小是有限的,则为true。
元素检索(Element Retrieval):
xs.head
返回容器内第一个元素(或其他元素,若当前的容器无序)。
xs.headOption
xs选项值中的第一个元素,若xs为空则为None。
xs.last
返回容器的最后一个元素(或某个元素,如果当前的容器无序的话)。
xs.lastOption
xs选项值中的最后一个元素,如果xs为空则为None。
xs find p
查找xs中满足p条件的元素,若存在则返回第一个元素;若不存在,则为空。
子容器(Subcollection):
xs.tail
返回由除了xs.head外的其余部分。
xs.init
返回除xs.last外的其余部分。
xs slice (from, to)
返回由xs的一个片段索引中的元素组成的容器(从from到to,但不包括to)。
xs take n
由xs的第一个到第n个元素(或当xs无序时任意的n个元素)组成的容器。
xs drop n
由除了xs take n以外的元素组成的容器。
xs takeWhile p
容器xs中最长能够满足断言p的前缀。
xs dropWhile p
容器xs中除了xs takeWhile p以外的全部元素。
xs filter p
由xs中满足条件p的元素组成的容器。
xs withFilter p
这个容器是一个不太严格的过滤器。子容器调用map,flatMap,foreach和withFilter只适用于xs中那些的满足条件p的元素。
xs filterNot p
由xs中不满足条件p的元素组成的容器。
拆分(Subdivision):
xs splitAt n
把xs从指定位置的拆分成两个容器(xs take n和xs drop n)。
xs span p
根据一个断言p将xs拆分为两个容器(xs takeWhile p, xs.dropWhile p)。
xs partition p
把xs分割为两个容器,符合断言p的元素赋给一个容器,其余的赋给另一个(xs filter p, xs.filterNot p)。
xs groupBy f
根据判别函数f把xs拆分一个到容器(collection)的map中。
条件元素(Element Conditions):
xs forall p
返回一个布尔值表示用于表示断言p是否适用xs中的所有元素。
xs exists p
返回一个布尔值判断xs中是否有部分元素满足断言p。
xs count p
返回xs中符合断言p条件的元素个数。
折叠(Fold):
(z /: xs)(op)
在xs中,对由z开始从左到右的连续元素应用二进制运算op。
(xs :\ z)(op)
在xs中,对由z开始从右到左的连续元素应用二进制运算op
xs.foldLeft(z)(op)
与(z /: xs)(op)相同。
xs.foldRight(z)(op)
与 (xs :\ z)(op)相同。
xs reduceLeft op
非空容器xs中的连续元素从左至右调用二进制运算op。
xs reduceRight op
非空容器xs中的连续元素从右至左调用二进制运算op。
特殊折叠(Specific Fold):
xs.sum
返回容器xs中数字元素的和。
xs.product
xs返回容器xs中数字元素的积。
xs.min
容器xs中有序元素值中的最小值。
xs.max
容器xs中有序元素值中的最大值。
字符串(String):
xs addString (b, start, sep, end)
把一个字符串加到StringBuilder对象b中,该字符串显示为将xs中所有元素用分隔符sep连接起来并封装在start和end之间。其中start,end和sep都是可选的。
xs mkString (start, sep, end)
把容器xs转换为一个字符串,该字符串显示为将xs中所有元素用分隔符sep连接起来并封装在start和end之间。其中start,end和sep都是可选的。
xs.stringPrefix
返回一个字符串,该字符串是以容器名开头的xs.toString。
视图(View):
xs.view
通过容器xs生成一个视图。
xs view (from, to)
生成一个表示在指定索引范围内的xs元素的视图。
This is a companion discussion topic for the original entry at http://docs.scala-lang.org//zh-cn/overviews/collections/trait-traversable