case class ::[+A](x: A, next: List[A]) extends List[A] with Product with Serializable
- Alphabetic
- By Inheritance
- ::
- Product
- List
- Serializable
- Serializable
- StrictOptimizedSeqOps
- StrictOptimizedIterableOps
- LinearSeq
- LinearSeqOps
- LinearSeq
- LinearSeqOps
- Seq
- SeqOps
- Seq
- SeqOps
- Equals
- ArrayLike
- Iterable
- Iterable
- IterableOps
- IterableOnce
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
class
WithFilter
extends AnyRef
A template trait that contains just the
map,flatMap,foreachandwithFiltermethods of traitIterable.A template trait that contains just the
map,flatMap,foreachandwithFiltermethods of traitIterable.- Definition Classes
- IterableOps
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
++[B >: A](suffix: IterableOnce[B]): List[B]
Alias for
concatAlias for
concat- Definition Classes
- IterableOps
- Annotations
- @inline()
-
final
def
++:[B >: A](prefix: collection.Iterable[B]): List[B]
Alias for
prependAllAlias for
prependAll- Definition Classes
- IterableOps
- Annotations
- @inline()
-
final
def
+:[B >: A](elem: B): List[B]
Alias for
prepend.Alias for
prepend.Note that :-ending operators are right associative (see example). A mnemonic for
+:vs.:+is: the COLon goes on the COLlection side.- Definition Classes
- SeqOps
- Annotations
- @inline()
-
final
def
:+[B >: A](elem: B): List[B]
Alias for
appendAlias for
appendNote that :-ending operators are right associative (see example). A mnemonic for
+:vs.:+is: the COLon goes on the COLlection side.- Definition Classes
- SeqOps
- Annotations
- @inline()
-
def
::(elem: A): List[A]
[use case] Adds an element at the beginning of this list.
-
def
:::[B >: A](prefix: List[B]): List[B]
Adds the elements of a given list in front of this list.
Adds the elements of a given list in front of this list.
Example:
List(1, 2) ::: List(3, 4) = List(3, 4).:::(List(1, 2)) = List(1, 2, 3, 4)
- prefix
The list elements to prepend.
- returns
a list resulting from the concatenation of the given list
prefixand this list.
- Definition Classes
- List
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
append[B >: A](elem: B): List[B]
A copy of this $coll with an element appended.
A copy of this $coll with an element appended.
- B
the element type of the returned $coll.
- elem
the appended element
- returns
a new $coll consisting of all elements of this $coll followed by
value.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
-
def
apply(n: Int): A
applyis defined in terms ofdrop, which is in turn defined in terms oftail.applyis defined in terms ofdrop, which is in turn defined in terms oftail.- Definition Classes
- LinearSeqOps → ArrayLike
- Annotations
- @throws( ... )
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def c: ::.this.type
-
def
canEqual(that: Any): Boolean
Method called from equality methods, so that user-defined subclasses can refuse to be equal to other collections of the same kind.
Method called from equality methods, so that user-defined subclasses can refuse to be equal to other collections of the same kind.
- that
The object with which this $coll should be compared
- returns
true, if this $coll can possibly equalthat,falseotherwise. The test takes into consideration only the run-time types of objects but ignores their elements.
- Definition Classes
- SeqOps → Equals
-
def
className: String
The class name of this collection.
The class name of this collection. To be used for converting to string. Collections generally print like this:
<className>(elem_1, ..., elem_n)
- Definition Classes
- List → IterableOps
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
coll: ::.this.type
The collection itself
The collection itself
- Attributes
- protected[this]
- Definition Classes
- Iterable → IterableOps
-
final
def
collect[B](pf: PartialFunction[A, B]): List[B]
- Definition Classes
- List → IterableOps
-
def
combinations(n: Int): Iterator[List[A]]
Iterates over combinations.
Iterates over combinations. A _combination_ of length
nis a subsequence of the original sequence, with the elements taken in order. Thus,"xy"and"yy"are both length-2 combinations of"xyy", but"yx"is not. If there is more than one way to generate the same subsequence, only one will be returned.For example,
"xyyy"has three different ways to generate"xy"depending on whether the first, second, or third"y"is selected. However, since all are identical, only one will be chosen. Which of the three will be taken is an implementation detail that is not defined.- returns
An Iterator which traverses the possible n-element combinations of this $coll.
- Definition Classes
- SeqOps
"abbbc".combinations(2) = Iterator(ab, ac, bb, bc)
Example: -
def
concat[B >: A](suffix: IterableOnce[B]): List[B]
Returns a new list containing the elements from the left hand operand followed by the elements from the right hand operand.
Returns a new list containing the elements from the left hand operand followed by the elements from the right hand operand. The element type of the list is the most specific superclass encompassing the element types of the two operands.
- B
the element type of the returned collection.
- suffix
the traversable to append.
- returns
a new collection of type
CC[B]which contains all elements of this list followed by all elements ofsuffix.
- Definition Classes
- List → IterableOps
-
def
contains[A1 >: A](elem: A1): Boolean
Tests whether this $coll contains a given value as an element.
Tests whether this $coll contains a given value as an element. $mayNotTerminateInf
- elem
the element to test.
- returns
trueif this $coll has an element that is equal (as determined by==) toelem,falseotherwise.
- Definition Classes
- SeqOps
-
def
containsSlice[B](that: collection.Seq[B]): Boolean
Tests whether this $coll contains a given sequence as a slice.
Tests whether this $coll contains a given sequence as a slice. $mayNotTerminateInf
- that
the sequence to test
- returns
trueif this $coll contains a slice with the same elements asthat, otherwisefalse.
- Definition Classes
- SeqOps
-
def
copyToArray[B >: A](xs: Array[B], start: Int = 0): xs.type
Copy all elements of this collection to array
xs, starting atstart.Copy all elements of this collection to array
xs, starting atstart.- Definition Classes
- IterableOps
-
def
count(p: (A) ⇒ Boolean): Int
Counts the number of elements in the $coll which satisfy a predicate.
Counts the number of elements in the $coll which satisfy a predicate.
- p
the predicate used to test elements.
- returns
the number of elements satisfying the predicate
p.
- Definition Classes
- IterableOps
-
def
drop(n: Int): List[A]
Optimized version of
dropthat avoids copying Note:dropis defined here, rather than in a trait likeLinearSeqMonoTransforms, because the...MonoTransformstraits make no assumption about the type ofReprwhereas we need to assume here thatRepris the same as the underlying collection type.Optimized version of
dropthat avoids copying Note:dropis defined here, rather than in a trait likeLinearSeqMonoTransforms, because the...MonoTransformstraits make no assumption about the type ofReprwhereas we need to assume here thatRepris the same as the underlying collection type.- Definition Classes
- List → LinearSeqOps → IterableOps
-
def
dropRight(n: Int): List[A]
The rest of the collection without its
nlast elements.The rest of the collection without its
nlast elements. For linear, immutable collections this should avoid making a copy.- Definition Classes
- IterableOps
-
final
def
dropWhile(p: (A) ⇒ Boolean): List[A]
Skips longest sequence of elements of this iterator which satisfy given predicate
p, and returns an iterator of the remaining elements.Skips longest sequence of elements of this iterator which satisfy given predicate
p, and returns an iterator of the remaining elements.- p
the predicate used to skip elements.
- returns
an iterator consisting of the remaining elements
- Definition Classes
- List → IterableOps
- Annotations
- @inline()
- Note
Reuse: $consumesAndProducesIterator
-
def
endsWith[B >: A](that: collection.Seq[B]): Boolean
Tests whether this $coll ends with the given sequence.
Tests whether this $coll ends with the given sequence. $willNotTerminateInf
- that
the sequence to test
- returns
trueif this $coll hasthatas a suffix,falseotherwise.
- Definition Classes
- SeqOps
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(o: Any): Boolean
- Definition Classes
- SeqOps → Equals → Any
-
def
exists(p: (A) ⇒ Boolean): Boolean
Tests whether a predicate holds for at least one element of this $coll.
Tests whether a predicate holds for at least one element of this $coll.
$mayNotTerminateInf
- p
the predicate used to test elements.
- returns
trueif the given predicatepis satisfied by at least one element of this $coll, otherwisefalse
- Definition Classes
- IterableOps
-
def
filter(pred: (A) ⇒ Boolean): List[A]
Selects all elements of this $coll which satisfy a predicate.
Selects all elements of this $coll which satisfy a predicate.
- pred
the predicate used to test elements.
- returns
a new $coll consisting of all elements of this $coll that satisfy the given predicate
pred. Their order may not be preserved.
- Definition Classes
- IterableOps
-
def
filterNot(pred: (A) ⇒ Boolean): List[A]
Selects all elements of this $coll which do not satisfy a predicate.
Selects all elements of this $coll which do not satisfy a predicate.
- pred
the predicate used to test elements.
- returns
a new $coll consisting of all elements of this $coll that do not satisfy the given predicate
pred. Their order may not be preserved.
- Definition Classes
- IterableOps
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
find(p: (A) ⇒ Boolean): Option[A]
Finds the first element of the $coll satisfying a predicate, if any.
Finds the first element of the $coll satisfying a predicate, if any.
$mayNotTerminateInf $orderDependent
- p
the predicate used to test elements.
- returns
an option value containing the first element in the $coll that satisfies
p, orNoneif none exists.
- Definition Classes
- IterableOps
-
final
def
flatMap[B](f: (A) ⇒ IterableOnce[B]): List[B]
Flatmap
Flatmap
- Definition Classes
- List → IterableOps
-
def
flatten[B](implicit ev: (A) ⇒ IterableOnce[B]): List[B]
- Definition Classes
- IterableOps
-
def
foldLeft[B](z: B)(op: (B, A) ⇒ B): B
Fold left
Fold left
- Definition Classes
- IterableOps
-
def
foldRight[B](z: B)(op: (A, B) ⇒ B): B
Fold right
Fold right
- Definition Classes
- List → IterableOps
-
def
forall(p: (A) ⇒ Boolean): Boolean
Tests whether a predicate holds for all elements of this $coll.
Tests whether a predicate holds for all elements of this $coll.
$mayNotTerminateInf
- p
the predicate used to test elements.
- returns
trueif this $coll is empty or the given predicatepholds for all elements of this $coll, otherwisefalse.
- Definition Classes
- IterableOps
-
final
def
foreach[U](f: (A) ⇒ U): Unit
Apply
fto each element for its side effects Note: [U] parameter needed to help scalac's type inference.Apply
fto each element for its side effects Note: [U] parameter needed to help scalac's type inference.- Definition Classes
- List → IterableOps
- Annotations
- @inline()
-
def
fromIterable[E](it: collection.Iterable[E]): List[E]
- Attributes
- protected[this]
- Definition Classes
- IterableOps
-
def
fromSpecificIterable(coll: collection.Iterable[A]): List[A]
- Attributes
- protected[this]
- Definition Classes
- List → IterableOps
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
groupBy[K](f: (A) ⇒ K): Map[K, List[A]]
Partitions this $coll into a map of ${coll}s according to some discriminator function.
Partitions this $coll into a map of ${coll}s according to some discriminator function.
Note: When applied to a view or a lazy collection it will always force the elements.
- K
the type of keys returned by the discriminator function.
- f
the discriminator function.
- returns
A map from keys to ${coll}s such that the following invariant holds:
(xs groupBy f)(k) = xs filter (x => f(x) == k)That is, every key
kis bound to a $coll of those elementsxfor whichf(x)equalsk.
- Definition Classes
- IterableOps
-
def
grouped(size: Int): Iterator[List[A]]
Partitions elements in fixed size ${coll}s.
Partitions elements in fixed size ${coll}s.
- size
the number of elements per group
- returns
An iterator producing ${coll}s of size
size, except the last will be less than sizesizeif the elements don't divide evenly.
- Definition Classes
- IterableOps
- See also
scala.collection.Iterator, method
grouped
-
def
hashCode(): Int
- Definition Classes
- SeqOps → Any
-
def
head: A
The first element of the collection.
The first element of the collection.
- Definition Classes
- :: → LinearSeqOps → IterableOps
-
def
indexOf[B >: A](elem: B, from: Int = 0): Int
Finds index of first occurrence of some value in this $coll after or at some start index.
Finds index of first occurrence of some value in this $coll after or at some start index.
- B
the type of the element
elem.- elem
the element value to search for.
- from
the start index
- returns
the index
>= fromof the first element of this $coll that is equal (as determined by==) toelem, or-1, if none exists.
- Definition Classes
- SeqOps
-
def
indexOfSlice[B >: A](that: collection.Seq[B], from: Int = 0): Int
Finds first index after or at a start index where this $coll contains a given sequence as a slice.
Finds first index after or at a start index where this $coll contains a given sequence as a slice. $mayNotTerminateInf
- that
the sequence to test
- from
the start index
- returns
the first index
>= fromsuch that the elements of this $coll starting at this index match the elements of sequencethat, or-1of no such subsequence exists.
- Definition Classes
- SeqOps
-
def
indexWhere(p: (A) ⇒ Boolean, from: Int = 0): Int
Finds index of the first element satisfying some predicate after or at some start index.
Finds index of the first element satisfying some predicate after or at some start index.
$mayNotTerminateInf
- p
the predicate used to test elements.
- from
the start index
- returns
the index
>= fromof the first element of this $coll that satisfies the predicatep, or-1, if none exists.
- Definition Classes
- SeqOps
-
def
indices: Range
Produces the range of all indices of this sequence.
Produces the range of all indices of this sequence.
- returns
a
Rangevalue from0to one less than the length of this $coll.
- Definition Classes
- SeqOps
-
def
init: List[A]
The initial part of the collection without its last element.
The initial part of the collection without its last element.
- Definition Classes
- IterableOps
-
def
isEmpty: Boolean
To be overridden in implementations:
To be overridden in implementations:
- Definition Classes
- :: → LinearSeqOps → IterableOps
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
iterableFactory: List.type
- Definition Classes
- List → IterableOps
-
def
iterator(): Iterator[A]
iteratoris implemented in terms ofheadandtailiteratoris implemented in terms ofheadandtail- Definition Classes
- LinearSeqOps
-
def
knownSize: Int
The number of elements in this collection, if it can be cheaply computed, -1 otherwise.
The number of elements in this collection, if it can be cheaply computed, -1 otherwise. Cheaply usually means: Not requiring a collection traversal.
- Definition Classes
- IterableOps
-
def
last: A
Selects the last element.
Selects the last element. $orderDependent
- returns
The last element of this $coll.
- Definition Classes
- IterableOps
- Exceptions thrown
NoSuchElementExceptionIf the $coll is empty.
-
def
lastIndexOf[B >: A](elem: B, end: Int = length - 1): Int
Finds index of last occurrence of some value in this $coll before or at a given end index.
Finds index of last occurrence of some value in this $coll before or at a given end index.
- B
the type of the element
elem.- elem
the element value to search for.
- end
the end index.
- returns
the index
<= endof the last element of this $coll that is equal (as determined by==) toelem, or-1, if none exists.
- Definition Classes
- SeqOps
-
def
lastIndexOfSlice[B >: A](that: collection.Seq[B], end: Int = length - 1): Int
Finds last index before or at a given end index where this $coll contains a given sequence as a slice.
Finds last index before or at a given end index where this $coll contains a given sequence as a slice.
- that
the sequence to test
- end
the end index
- returns
the last index
<= endsuch that the elements of this $coll starting at this index match the elements of sequencethat, or-1of no such subsequence exists.
- Definition Classes
- SeqOps
-
def
lastIndexWhere(p: (A) ⇒ Boolean, end: Int = length - 1): Int
Finds index of last element satisfying some predicate before or at given end index.
Finds index of last element satisfying some predicate before or at given end index.
- p
the predicate used to test elements.
- returns
the index
<= endof the last element of this $coll that satisfies the predicatep, or-1, if none exists.
- Definition Classes
- SeqOps
-
def
lastOption: Option[A]
Optionally selects the last element.
Optionally selects the last element. $orderDependent
- returns
the last element of this $coll$ if it is nonempty,
Noneif it is empty.
- Definition Classes
- IterableOps
-
final
def
length: Int
- Definition Classes
- LinearSeqOps → ArrayLike
-
final
def
map[B](f: (A) ⇒ B): List[B]
Builds a new collection by applying a function to all elements of this list.
Builds a new collection by applying a function to all elements of this list.
- B
the element type of the returned collection.
- f
the function to apply to each element.
- returns
a new list resulting from applying the given function
fto each element of this list and collecting the results.
- Definition Classes
- List → IterableOps
-
def
max: A
[use case] Finds the largest element.
[use case]Finds the largest element.
- returns
the largest element of this list.
- Definition Classes
- IterableOps
Full Signaturedef max[B >: A](implicit ord: Ordering[B]): A
-
def
maxBy[B](f: (A) ⇒ B): A
[use case] Finds the first element which yields the largest value measured by function f.
[use case]Finds the first element which yields the largest value measured by function f.
- B
The result type of the function f.
- f
The measuring function.
- returns
the first element of this list with the largest value measured by function f.
- Definition Classes
- IterableOps
Full Signaturedef maxBy[B](f: (A) ⇒ B)(implicit cmp: Ordering[B]): A
-
def
min: A
[use case] Finds the smallest element.
[use case]Finds the smallest element.
- returns
the smallest element of this list
- Definition Classes
- IterableOps
Full Signaturedef min[B >: A](implicit ord: Ordering[B]): A
-
def
minBy[B](f: (A) ⇒ B): A
[use case] Finds the first element which yields the smallest value measured by function f.
[use case]Finds the first element which yields the smallest value measured by function f.
- B
The result type of the function f.
- f
The measuring function.
- returns
the first element of this list with the smallest value measured by function f.
- Definition Classes
- IterableOps
Full Signaturedef minBy[B](f: (A) ⇒ B)(implicit cmp: Ordering[B]): A
-
def
mkString: String
- Definition Classes
- IterableOps
-
def
mkString(sep: String): String
- Definition Classes
- IterableOps
-
def
mkString(start: String, sep: String, end: String): String
A string showing all elements of this collection, separated by string
sep.A string showing all elements of this collection, separated by string
sep.- Definition Classes
- IterableOps
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newSpecificBuilder(): Builder[A, List[A]]
- returns
a strict builder for the same collection type. Note that in the case of lazy collections (e.g. View or immutable.LazyList), it is possible to implement this method but the resulting
Builderwill break laziness. As a consequence, operations should preferably be implemented on top of views rather than builders.
- Attributes
- protected[this]
- Definition Classes
- List → IterableOps
-
def
nonEmpty: Boolean
Is the collection not empty?
Is the collection not empty?
- Definition Classes
- :: → IterableOps
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
padTo[B >: A](len: Int, elem: B): List[B]
A copy of this $coll with an element value appended until a given target length is reached.
A copy of this $coll with an element value appended until a given target length is reached.
- B
the element type of the returned $coll.
- len
the target length
- elem
the padding value
- returns
a new collection of type
$Collconsisting of all elements of this $coll followed by the minimal number of occurrences ofelemso that the resulting collection has a length of at leastlen.
- Definition Classes
- SeqOps
-
def
partition(p: (A) ⇒ Boolean): (List[A], List[A])
Optimized, push-based version of
partition.Optimized, push-based version of
partition.- Definition Classes
- StrictOptimizedIterableOps → IterableOps
-
def
permutations: Iterator[List[A]]
Iterates over distinct permutations.
Iterates over distinct permutations.
- returns
An Iterator which traverses the distinct permutations of this $coll.
- Definition Classes
- SeqOps
"abb".permutations = Iterator(abb, bab, bba)
Example: -
def
prepend[B >: A](elem: B): List[B]
A copy of the list with an element prepended.
A copy of the list with an element prepended.
- B
the element type of the returned list.
- elem
the prepended element
- returns
a new list consisting of
valuefollowed by all elements of this list.
- Definition Classes
- List → StrictOptimizedSeqOps → SeqOps
-
def
prependAll[B](that: <error>): <error>
[use case] As with
++, returns a new collection containing the elements from the left operand followed by the elements from the right operand.[use case]As with
++, returns a new collection containing the elements from the left operand followed by the elements from the right operand.It differs from
++in that the right operand determines the type of the resulting collection rather than the left one. Mnemonic: the COLon is on the side of the new COLlection type.Example:
scala> val x = List(1) x: List[Int] = List(1) scala> val y = Vector(2) y: scala.collection.immutable.Vector[Int] = Vector(2) scala> val z = x ++: y z: scala.collection.immutable.Vector[Int] = Vector(1, 2)
- B
the element type of the returned collection.
- returns
a new list which contains all elements of
prefixfollowed by all the elements of this list.
- Definition Classes
- List → IterableOps
Full Signaturedef prependAll[B >: A](prefix: collection.Iterable[B]): List[B]
-
def
product: A
[use case] Multiplies up the elements of this collection.
[use case]Multiplies up the elements of this collection.
- returns
the product of all elements in this list of numbers of type
Int. Instead ofInt, any other typeTwith an implicitNumeric[T]implementation can be used as element type of the list and as result type ofproduct. Examples of such types are:Long,Float,Double,BigInt.
- Definition Classes
- IterableOps
Full Signaturedef product[B >: A](implicit num: Numeric[B]): B
-
def
reduce[B >: A](op: (B, B) ⇒ B): B
Reduces the elements of this $coll using the specified associative binary operator.
Reduces the elements of this $coll using the specified associative binary operator.
$undefinedorder
- B
A type parameter for the binary operator, a supertype of
A.- op
A binary operator that must be associative.
- returns
The result of applying reduce operator
opbetween all the elements if the $coll is nonempty.
- Definition Classes
- IterableOps
- Exceptions thrown
UnsupportedOperationExceptionif this $coll is empty.
-
def
reduceLeft[B >: A](op: (B, A) ⇒ B): B
Applies a binary operator to all elements of this $coll, going left to right.
Applies a binary operator to all elements of this $coll, going left to right. $willNotTerminateInf $orderDependentFold
- B
the result type of the binary operator.
- op
the binary operator.
- returns
the result of inserting
opbetween consecutive elements of this $coll, going left to right:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)where
x1, ..., xnare the elements of this $coll.
- Definition Classes
- IterableOps
- Exceptions thrown
UnsupportedOperationExceptionif this $coll is empty.
-
def
reduceLeftOption[B >: A](op: (B, A) ⇒ B): Option[B]
Optionally applies a binary operator to all elements of this $coll, going left to right.
Optionally applies a binary operator to all elements of this $coll, going left to right. $willNotTerminateInf $orderDependentFold
- B
the result type of the binary operator.
- op
the binary operator.
- returns
an option value containing the result of
reduceLeft(op)if this $coll is nonempty,Noneotherwise.
- Definition Classes
- IterableOps
-
def
reduceOption[B >: A](op: (B, B) ⇒ B): Option[B]
Reduces the elements of this $coll, if any, using the specified associative binary operator.
Reduces the elements of this $coll, if any, using the specified associative binary operator.
$undefinedorder
- B
A type parameter for the binary operator, a supertype of
A.- op
A binary operator that must be associative.
- returns
An option value containing result of applying reduce operator
opbetween all the elements if the collection is nonempty, andNoneotherwise.
- Definition Classes
- IterableOps
-
def
reduceRight[B >: A](op: (A, B) ⇒ B): B
Applies a binary operator to all elements of this $coll, going right to left.
Applies a binary operator to all elements of this $coll, going right to left. $willNotTerminateInf $orderDependentFold
- B
the result type of the binary operator.
- op
the binary operator.
- returns
the result of inserting
opbetween consecutive elements of this $coll, going right to left:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))where
x1, ..., xnare the elements of this $coll.
- Definition Classes
- IterableOps
- Exceptions thrown
UnsupportedOperationExceptionif this $coll is empty.
-
def
reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]
Optionally applies a binary operator to all elements of this $coll, going right to left.
Optionally applies a binary operator to all elements of this $coll, going right to left. $willNotTerminateInf $orderDependentFold
- B
the result type of the binary operator.
- op
the binary operator.
- returns
an option value containing the result of
reduceRight(op)if this $coll is nonempty,Noneotherwise.
- Definition Classes
- IterableOps
-
def
reverse: List[A]
Returns new list with elements in reversed order.
-
def
reverseIterator(): Iterator[A]
An iterator yielding elements in reversed order.
An iterator yielding elements in reversed order.
$willNotTerminateInf
Note:
xs.reverseIteratoris the same asxs.reverse.iteratorbut might be more efficient.- returns
an iterator yielding the elements of this $coll in reversed order
- Definition Classes
- SeqOps
-
def
reverse_:::[B >: A](prefix: List[B]): List[B]
Adds the elements of a given list in reverse order in front of this list.
Adds the elements of a given list in reverse order in front of this list.
xs reverse_::: ysis equivalent toxs.reverse ::: ysbut is more efficient.- prefix
the prefix to reverse and then prepend
- returns
the concatenation of the reversed prefix and the current list.
- Definition Classes
- List
-
def
reversed: collection.Iterable[A]
- Attributes
- protected[this]
- Definition Classes
- IterableOps
-
def
sameElements[B >: A](that: IterableOnce[B]): Boolean
Are the elements of this collection the same (and in the same order) as those of
that?Are the elements of this collection the same (and in the same order) as those of
that?- Definition Classes
- SeqOps
-
def
scan[B >: A](z: B)(op: (B, B) ⇒ B): List[B]
Computes a prefix scan of the elements of the collection.
Computes a prefix scan of the elements of the collection.
Note: The neutral element
zmay be applied more than once.- B
element type of the resulting collection
- z
neutral element for the operator
op- op
the associative operator for the scan
- returns
a new $coll containing the prefix scan of the elements in this $coll
- Definition Classes
- IterableOps
-
def
scanLeft[B](z: B)(op: (B, A) ⇒ B): List[B]
Produces a collection containing cumulative results of applying the operator going left to right.
Produces a collection containing cumulative results of applying the operator going left to right.
$willNotTerminateInf $orderDependent
- B
the type of the elements in the resulting collection
- z
the initial value
- op
the binary operator applied to the intermediate result and the element
- returns
collection with intermediate results
- Definition Classes
- IterableOps
-
def
scanRight[B](z: B)(op: (A, B) ⇒ B): List[B]
Produces a collection containing cumulative results of applying the operator going right to left.
Produces a collection containing cumulative results of applying the operator going right to left. The head of the collection is the last cumulative result. $willNotTerminateInf $orderDependent
Example:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
- B
the type of the elements in the resulting collection
- z
the initial value
- op
the binary operator applied to the intermediate result and the element
- returns
collection with intermediate results
- Definition Classes
- IterableOps
- def seq: ::.this.type
-
def
size: Int
The number of elements in this collection.
The number of elements in this collection. Does not terminate for infinite collections.
- Definition Classes
- LinearSeqOps → IterableOps
-
def
slice(from: Int, until: Int): List[A]
- from
the lowest index to include from this list.
- until
the lowest index to EXCLUDE from this list.
- returns
a list containing the elements greater than or equal to index
fromextending up to (but not including) indexuntilof this list.
- Definition Classes
- List → IterableOps
// Given a list val letters = List('a','b','c','d','e') // `slice` returns all elements beginning at index `from` and afterwards, // up until index `until` (excluding index `until`.) letters.slice(1,3) // Returns List('b','c')
Example: -
def
sliding(size: Int, step: Int): Iterator[List[A]]
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.)
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.)
- size
the number of elements per group
- step
the distance between the first elements of successive groups
- returns
An iterator producing ${coll}s of size
size, except the last element (which may be the only element) will be truncated if there are fewer thansizeelements remaining to be grouped.
- Definition Classes
- IterableOps
- See also
scala.collection.Iterator, method
sliding
-
def
sliding(size: Int): Iterator[List[A]]
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in
grouped.) The "sliding window" step is set to one.Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in
grouped.) The "sliding window" step is set to one.- size
the number of elements per group
- returns
An iterator producing ${coll}s of size
size, except the last element (which may be the only element) will be truncated if there are fewer thansizeelements remaining to be grouped.
- Definition Classes
- IterableOps
- See also
scala.collection.Iterator, method
sliding
-
def
sortBy[B](f: (A) ⇒ B)(implicit ord: Ordering[B]): List[A]
Sorts this $Coll according to the Ordering which results from transforming an implicitly given Ordering with a transformation function.
Sorts this $Coll according to the Ordering which results from transforming an implicitly given Ordering with a transformation function.
- B
the target type of the transformation
f, and the type where the orderingordis defined.- f
the transformation function mapping elements to some other domain
B.- ord
the ordering assumed on domain
B.- returns
a $coll consisting of the elements of this $coll sorted according to the ordering where
x < yiford.lt(f(x), f(y)).
- Definition Classes
- SeqOps
val words = "The quick brown fox jumped over the lazy dog".split(' ') // this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]] words.sortBy(x => (x.length, x.head)) res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
- See also
scala.math.Ordering $willNotTerminateInf
Example: -
def
sortWith(lt: (A, A) ⇒ Boolean): List[A]
Sorts this $coll according to a comparison function.
Sorts this $coll according to a comparison function. $willNotTerminateInf
The sort is stable. That is, elements that are equal (as determined by
lt) appear in the same order in the sorted sequence as in the original.- lt
the comparison function which tests whether its first argument precedes its second argument in the desired ordering.
- returns
a $coll consisting of the elements of this $coll sorted according to the comparison function
lt.
- Definition Classes
- SeqOps
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) = List("Bob", "John", "Steve", "Tom")
Example: -
def
sorted[B >: A](implicit ord: Ordering[B]): List[A]
Sorts this $coll according to an Ordering.
Sorts this $coll according to an Ordering.
The sort is stable. That is, elements that are equal (as determined by
lt) appear in the same order in the sorted sequence as in the original.- ord
the ordering to be used to compare elements.
- returns
a $coll consisting of the elements of this $coll sorted according to the ordering
ord.
- Definition Classes
- SeqOps
- See also
scala.math.Ordering
-
final
def
span(p: (A) ⇒ Boolean): (List[A], List[A])
Splits this list into a prefix/suffix pair according to a predicate.
Splits this list into a prefix/suffix pair according to a predicate.
Note:
c span pis equivalent to (but possibly more efficient than)(c takeWhile p, c dropWhile p), provided the evaluation of the predicatepdoes not cause any side-effects.- p
the test predicate
- returns
a pair consisting of the longest prefix of this list whose elements all satisfy
p, and the rest of this list.
- Definition Classes
- List → StrictOptimizedIterableOps → IterableOps
- Annotations
- @inline()
-
def
splitAt(n: Int): (List[A], List[A])
Splits this list into two at a given position.
Splits this list into two at a given position. Note:
c splitAt nis equivalent to (but possibly more efficient than)(c take n, c drop n).- n
the position at which to split.
- returns
a pair of lists consisting of the first
nelements of this list, and the other elements.
- Definition Classes
- List → IterableOps
-
def
startsWith[B >: A](that: collection.Seq[B], offset: Int = 0): Boolean
Tests whether this $coll contains the given sequence at a given index.
Tests whether this $coll contains the given sequence at a given index.
Note: If the both the receiver object
thisand the argumentthatare infinite sequences this method may not terminate.- that
the sequence to test
- offset
the index where the sequence is searched.
- returns
trueif the sequencethatis contained in this $coll at indexoffset, otherwisefalse.
- Definition Classes
- SeqOps
-
def
sum: A
[use case] Sums up the elements of this collection.
[use case]Sums up the elements of this collection.
- returns
the sum of all elements in this list of numbers of type
Int. Instead ofInt, any other typeTwith an implicitNumeric[T]implementation can be used as element type of the list and as result type ofsum. Examples of such types are:Long,Float,Double,BigInt.
- Definition Classes
- IterableOps
Full Signaturedef sum[B >: A](implicit num: Numeric[B]): B
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
tail: List[A]
The rest of the collection without its first element.
The rest of the collection without its first element.
- Definition Classes
- :: → LinearSeqOps → IterableOps
-
def
take(n: Int): List[A]
A collection containing the first
nelements of this collection.A collection containing the first
nelements of this collection.- Definition Classes
- List → IterableOps
-
def
takeRight(n: Int): List[A]
A collection containing the last
nelements of this collection.A collection containing the last
nelements of this collection.- Definition Classes
- List → IterableOps
-
final
def
takeWhile(p: (A) ⇒ Boolean): List[A]
Takes longest prefix of elements that satisfy a predicate.
Takes longest prefix of elements that satisfy a predicate.
- p
The predicate used to test elements.
- returns
the longest prefix of this list whose elements all satisfy the predicate
p.
- Definition Classes
- List → IterableOps
- Annotations
- @inline()
-
def
to[C1](f: CanBuild[A, C1]): C1
Given a collection factory
fi, convert this collection to the appropriate representation for the current element typeA.Given a collection factory
fi, convert this collection to the appropriate representation for the current element typeA. Example uses:xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // for xs: Iterable[Int]
- Definition Classes
- IterableOps
-
def
toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]
Convert collection to array.
Convert collection to array.
- Definition Classes
- IterableOps
-
def
toString(): String
- Definition Classes
- IterableOps → Any
-
def
unzip[A1, A2](implicit asPair: <:<[A, (A1, A2)]): (List[A1], List[A2])
Converts this $coll of pairs into two collections of the first and second half of each pair.
Converts this $coll of pairs into two collections of the first and second half of each pair.
val xs = $Coll( (1, "one"), (2, "two"), (3, "three")).unzip // xs == ($Coll(1, 2, 3), // $Coll(one, two, three))
- A1
the type of the first half of the element pairs
- A2
the type of the second half of the element pairs
- asPair
an implicit conversion which asserts that the element type of this $coll is a pair.
- returns
a pair of ${coll}s, containing the first, respectively second half of each element pair of this $coll.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
-
def
updated[B >: A](index: Int, elem: B): List[B]
A copy of this $coll with one single replaced element.
A copy of this $coll with one single replaced element.
- B
the element type of the returned $coll.
- index
the position of the replacement
- elem
the replacing element
- returns
a copy of this $coll with the element at position
indexreplaced byelem.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
- Exceptions thrown
IndexOutOfBoundsExceptionifindexdoes not satisfy0 <= index < length. <invalid inheritdoc annotation>
-
def
view: View[A]
A view representing the elements of this collection.
A view representing the elements of this collection.
- Definition Classes
- IterableOps
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
withFilter(p: (A) ⇒ Boolean): WithFilter
Creates a non-strict filter of this $coll.
Creates a non-strict filter of this $coll.
Note: the difference between
c filter pandc withFilter pis that the former creates a new collection, whereas the latter only restricts the domain of subsequentmap,flatMap,foreach, andwithFilteroperations. $orderDependent- p
the predicate used to test elements.
- returns
an object of class
WithFilter, which supportsmap,flatMap,foreach, andwithFilteroperations. All these operations apply to those elements of this $coll which satisfy the predicatep.
- Definition Classes
- IterableOps
-
final
def
writeReplace(): AnyRef
- Attributes
- protected
- Definition Classes
- List
- val x: A
-
def
zip[B](xs: IterableOnce[B]): List[(A, B)]
Returns a $coll formed from this $coll and another iterable collection by combining corresponding elements in pairs.
Returns a $coll formed from this $coll and another iterable collection by combining corresponding elements in pairs. If one of the two collections is longer than the other, its remaining elements are ignored.
- B
the type of the second half of the returned pairs
- xs
The iterable providing the second half of each result pair
- returns
a new collection of type
Thatcontaining pairs consisting of corresponding elements of this $coll andthat. The length of the returned collection is the minimum of the lengths of this $coll andthat.
- Definition Classes
- IterableOps
-
def
zipWithIndex: List[(A, Int)]
Zips this $coll with its indices.
Zips this $coll with its indices.
- returns
A new collection of type
Thatcontaining pairs consisting of all elements of this $coll paired with their index. Indices start at0.
- Definition Classes
- IterableOps
List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))
Example: