scala.collection.immutable

List

sealed abstract class List[+A] extends AbstractSeq[A] with LinearSeq[A] with Product with GenericTraversableTemplate[A, List] with LinearSeqOptimized[A, List[A]]

A class for immutable linked lists representing ordered collections of elements of type.

This class comes with two implementing case classes scala.Nil and scala.:: that implement the abstract members isEmpty, head and tail.

This class is optimal for last-in-first-out (LIFO), stack-like access patterns. If you need another access pattern, for example, random access or FIFO, consider using a collection more suited to this than List.

Source
List.scala
Example:
  1. // Make a list via the companion object factory
    val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
    
    // Make a list element-by-element
    val when = "AM" :: "PM" :: List()
    
    // Pattern match
    days match {
      case firstDay :: otherDays =>
        println("The first day of the week is: " + firstDay)
      case List() =>
        println("There don't seem to be any week days.")
    }

    Performance

    Time: List has O(1) prepend and head/tail access. Most other operations are O(n) on the number of elements in the list. This includes the index-based lookup of elements, length, append and reverse.

    Space: List implements structural sharing of the tail list. This means that many operations are either zero- or constant-memory cost.

    val mainList = List(3, 2, 1)
    val with4 =    4 :: mainList  // re-uses mainList, costs one :: instance
    val with42 =   42 :: mainList // also re-uses mainList, cost one :: instance
    val shorter =  mainList.tail  // costs nothing as it uses the same 2::1::Nil instances as mainList
Version

2.8

Since

1.0

Note

The functional list is characterized by persistence and structural sharing, thus offering considerable performance and space consumption benefits in some scenarios if used correctly. However, note that objects having multiple references into the same functional list (that is, objects that rely on structural sharing), will be serialized and deserialized with multiple lists, one for each reference to it. I.e. structural sharing is lost after serialization/deserialization.

See also

"Scala's Collection Library overview" section on Lists for more information.

Linear Supertypes
LinearSeqOptimized[A, List[A]], Product, LinearSeq[A], collection.LinearSeq[A], LinearSeqLike[A, List[A]], Seq[A], Iterable[A], Traversable[A], Immutable, AbstractSeq[A], collection.Seq[A], SeqLike[A, List[A]], GenSeq[A], GenSeqLike[A, List[A]], PartialFunction[Int, A], (Int) ⇒ A, AbstractIterable[A], collection.Iterable[A], IterableLike[A, List[A]], Equals, GenIterable[A], GenIterableLike[A, List[A]], AbstractTraversable[A], collection.Traversable[A], GenTraversable[A], GenericTraversableTemplate[A, List], TraversableLike[A, List[A]], GenTraversableLike[A, List[A]], Parallelizable[A, ParSeq[A]], TraversableOnce[A], GenTraversableOnce[A], FilterMonadic[A, List[A]], HasNewBuilder[A, List[A] @scala.annotation.unchecked.uncheckedVariance], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. List
  2. LinearSeqOptimized
  3. Product
  4. LinearSeq
  5. LinearSeq
  6. LinearSeqLike
  7. Seq
  8. Iterable
  9. Traversable
  10. Immutable
  11. AbstractSeq
  12. Seq
  13. SeqLike
  14. GenSeq
  15. GenSeqLike
  16. PartialFunction
  17. Function1
  18. AbstractIterable
  19. Iterable
  20. IterableLike
  21. Equals
  22. GenIterable
  23. GenIterableLike
  24. AbstractTraversable
  25. Traversable
  26. GenTraversable
  27. GenericTraversableTemplate
  28. TraversableLike
  29. GenTraversableLike
  30. Parallelizable
  31. TraversableOnce
  32. GenTraversableOnce
  33. FilterMonadic
  34. HasNewBuilder
  35. AnyRef
  36. Any
Implicitly
  1. by traversable2ops
  2. by MonadOps
  3. by any2stringadd
  4. by any2stringfmt
  5. by any2ArrowAssoc
  6. by any2Ensuring
  7. by alternateImplicit
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new List()

Type Members

  1. type Self = List[A]

    The type implementing this traversable

    The type implementing this traversable

    Attributes
    protected[this]
    Definition Classes
    TraversableLike
  2. class WithFilter extends FilterMonadic[A, Repr]

    A class supporting filtered operations.

Abstract Value Members

  1. abstract def productArity: Int

    The size of this product.

    The size of this product.

    returns

    for a product A(x1, ..., xk), returns k

    Definition Classes
    Product
  2. abstract def productElement(n: Int): Any

    The nth element of this product, 0-based.

    The nth element of this product, 0-based. In other words, for a product A(x1, ..., xk), returns x(n+1) where 0 < n < k.

    n

    the index of the element to return

    returns

    the element n elements after the first element

    Definition Classes
    Product
    Exceptions thrown
    `IndexOutOfBoundsException`

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Test two objects for inequality.

    Test two objects for inequality.

    returns

    true if !(this == that), false otherwise.

    Definition Classes
    Any
  3. final def ##(): Int

    Equivalent to x.hashCode except for boxed numeric types and null.

    Equivalent to x.hashCode except for boxed numeric types and null. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them. For null returns a hashcode where null.hashCode throws a NullPointerException.

    returns

    a hash value consistent with ==

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from List[A] to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ++[B](that: GenTraversableOnce[B]): List[B]

    [use case] Returns a new list containing the elements from the left hand operand followed by the elements from the right hand operand.

    [use case]

    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.

    Example:

    scala> val a = LinkedList(1)
    a: scala.collection.mutable.LinkedList[Int] = LinkedList(1)
    
    scala> val b = LinkedList(2)
    b: scala.collection.mutable.LinkedList[Int] = LinkedList(2)
    
    scala> val c = a ++ b
    c: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
    
    scala> val d = LinkedList('a')
    d: scala.collection.mutable.LinkedList[Char] = LinkedList(a)
    
    scala> val e = c ++ d
    e: scala.collection.mutable.LinkedList[AnyVal] = LinkedList(1, 2, a)
    B

    the element type of the returned collection.

    that

    the traversable to append.

    returns

    a new list which contains all elements of this list followed by all elements of that.

    Definition Classes
    ListTraversableLikeGenTraversableLike
    Full Signature

    def ++[B >: A, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[List[A], B, That]): That

  6. def ++:[B >: A, That](that: collection.Traversable[B])(implicit bf: CanBuildFrom[List[A], B, That]): That

    As with ++, returns a new collection containing the elements from the left operand followed by the elements from the right operand.

    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 = LinkedList(2)
    y: scala.collection.mutable.LinkedList[Int] = LinkedList(2)
    
    scala> val z = x ++: y
    z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)

    This overload exists because: for the implementation of ++: we should reuse that of ++ because many collections override it with more efficient versions.

    Since TraversableOnce has no ++ method, we have to implement that directly, but Traversable and down can use the overload.

    B

    the element type of the returned collection.

    That

    the class of the returned collection. In the standard library configuration, That is always List[B] because an implicit of type CanBuildFrom[List, B, That] is defined in object List.

    that

    the traversable to append.

    bf

    an implicit value of class CanBuildFrom which determines the result class That from the current representation type Repr and the new element type B. This is usually the canBuildFrom value defined in object List.

    returns

    a new collection of type That which contains all elements of this list followed by all elements of that.

    Definition Classes
    TraversableLike
  7. def ++:[B](that: TraversableOnce[B]): List[B]

    [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 = LinkedList(2)
    y: scala.collection.mutable.LinkedList[Int] = LinkedList(2)
    
    scala> val z = x ++: y
    z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
    B

    the element type of the returned collection.

    that

    the traversable to append.

    returns

    a new list which contains all elements of this list followed by all elements of that.

    Definition Classes
    TraversableLike
    Full Signature

    def ++:[B >: A, That](that: TraversableOnce[B])(implicit bf: CanBuildFrom[List[A], B, That]): That

  8. def +:(elem: A): List[A]

    [use case] A copy of the list with an element prepended.

    [use case]

    A copy of the list with an element prepended.

    Note that :-ending operators are right associative (see example). A mnemonic for +: vs. :+ is: the COLon goes on the COLlection side.

    Also, the original list is not modified, so you will want to capture the result.

    Example:

    scala> val x = LinkedList(1)
    x: scala.collection.mutable.LinkedList[Int] = LinkedList(1)
    
    scala> val y = 2 +: x
    y: scala.collection.mutable.LinkedList[Int] = LinkedList(2, 1)
    
    scala> println(x)
    LinkedList(1)
    elem

    the prepended element

    returns

    a new list consisting of elem followed by all elements of this list.

    Definition Classes
    ListSeqLikeGenSeqLike
    Full Signature

    def +:[B >: A, That](elem: B)(implicit bf: CanBuildFrom[List[A], B, That]): That

  9. def ->[B](y: B): (List[A], B)

    Implicit information
    This member is added by an implicit conversion from List[A] to ArrowAssoc[List[A]] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  10. def /:[B](z: B)(op: (B, A) ⇒ B): B

    Applies a binary operator to a start value and all elements of this list, going left to right.

    Applies a binary operator to a start value and all elements of this list, going left to right.

    Note: /: is alternate syntax for foldLeft; z /: xs is the same as xs foldLeft z.

    Examples:

    Note that the folding function used to compute b is equivalent to that used to compute c.

    scala> val a = LinkedList(1,2,3,4)
    a: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2, 3, 4)
    
    scala> val b = (5 /: a)(_+_)
    b: Int = 15
    
    scala> val c = (5 /: a)((x,y) => x + y)
    c: Int = 15
    B

    the result type of the binary operator.

    z

    the start value.

    op

    the binary operator.

    returns

    the result of inserting op between consecutive elements of this list, going left to right with the start value z on the left:

    op(...op(op(z, x_1), x_2), ..., x_n)

    where x1, ..., xn are the elements of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
  11. def :+(elem: A): List[A]

    [use case] A copy of this list with an element appended.

    [use case]

    A copy of this list with an element appended.

    A mnemonic for +: vs. :+ is: the COLon goes on the COLlection side.

    Example:

    scala> import scala.collection.mutable.LinkedList
    import scala.collection.mutable.LinkedList
    
    scala> val a = LinkedList(1)
    a: scala.collection.mutable.LinkedList[Int] = LinkedList(1)
    
    scala> val b = a :+ 2
    b: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
    
    scala> println(a)
    LinkedList(1)
    elem

    the appended element

    returns

    a new list consisting of all elements of this list followed by elem.

    Definition Classes
    SeqLikeGenSeqLike
    Full Signature

    def :+[B >: A, That](elem: B)(implicit bf: CanBuildFrom[List[A], B, That]): That

  12. def ::(x: A): List[A]

    [use case] Adds an element at the beginning of this list.

    [use case]

    Adds an element at the beginning of this list.

    Example:

    1 :: List(2, 3) = List(2, 3).::(1) = List(1, 2, 3)
    x

    the element to prepend.

    returns

    a list which contains x as first element and which continues with this list.

    Full Signature

    def ::[B >: A](x: B): List[B]

  13. def :::(prefix: List[A]): List[A]

    [use case] Adds the elements of a given list in front of this list.

    [use case]

    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 prefix and this list.

    Full Signature

    def :::[B >: A](prefix: List[B]): List[B]

  14. def :\[B](z: B)(op: (A, B) ⇒ B): B

    Applies a binary operator to all elements of this list and a start value, going right to left.

    Applies a binary operator to all elements of this list and a start value, going right to left.

    Note: :\ is alternate syntax for foldRight; xs :\ z is the same as xs foldRight z.

    Examples:

    Note that the folding function used to compute b is equivalent to that used to compute c.

    scala> val a = LinkedList(1,2,3,4)
    a: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2, 3, 4)
    
    scala> val b = (a :\ 5)(_+_)
    b: Int = 15
    
    scala> val c = (a :\ 5)((x,y) => x + y)
    c: Int = 15
    B

    the result type of the binary operator.

    z

    the start value

    op

    the binary operator

    returns

    the result of inserting op between consecutive elements of this list, going right to left with the start value z on the right:

    op(x_1, op(x_2, ... op(x_n, z)...))

    where x1, ..., xn are the elements of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
  15. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. final def ==(arg0: Any): Boolean

    Test two objects for equality.

    Test two objects for equality. The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    Any
  17. def addString(b: StringBuilder): StringBuilder

    Appends all elements of this list to a string builder.

    Appends all elements of this list to a string builder. The written text consists of the string representations (w.r.t. the method toString) of all elements of this list without any separator string.

    Example:

    scala> val a = LinkedList(1,2,3,4)
    a: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2, 3, 4)
    
    scala> val b = new StringBuilder()
    b: StringBuilder =
    
    scala> val h = a.addString(b)
    b: StringBuilder = 1234
    b

    the string builder to which elements are appended.

    returns

    the string builder b to which elements were appended.

    Definition Classes
    TraversableOnce
  18. def addString(b: StringBuilder, sep: String): StringBuilder

    Appends all elements of this list to a string builder using a separator string.

    Appends all elements of this list to a string builder using a separator string. The written text consists of the string representations (w.r.t. the method toString) of all elements of this list, separated by the string sep.

    Example:

    scala> val a = LinkedList(1,2,3,4)
    a: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2, 3, 4)
    
    scala> val b = new StringBuilder()
    b: StringBuilder =
    
    scala> a.addString(b, ", ")
    res0: StringBuilder = 1, 2, 3, 4
    b

    the string builder to which elements are appended.

    sep

    the separator string.

    returns

    the string builder b to which elements were appended.

    Definition Classes
    TraversableOnce
  19. def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

    Appends all elements of this list to a string builder using start, end, and separator strings.

    Appends all elements of this list to a string builder using start, end, and separator strings. The written text begins with the string start and ends with the string end. Inside, the string representations (w.r.t. the method toString) of all elements of this list are separated by the string sep.

    Example:

    scala> val a = LinkedList(1,2,3,4)
    a: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2, 3, 4)
    
    scala> val b = new StringBuilder()
    b: StringBuilder =
    
    scala> a.addString(b, "LinkedList(", ", ", ")")
    res1: StringBuilder = LinkedList(1, 2, 3, 4)
    b

    the string builder to which elements are appended.

    start

    the starting string.

    sep

    the separator string.

    end

    the ending string.

    returns

    the string builder b to which elements were appended.

    Definition Classes
    TraversableOnce
  20. def aggregate[B](z: B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B

    Aggregates the results of applying an operator to subsequent elements.

    Aggregates the results of applying an operator to subsequent elements.

    This is a more general form of fold and reduce. It has similar semantics, but does not require the result to be a supertype of the element type. It traverses the elements in different partitions sequentially, using seqop to update the result, and then applies combop to results from different partitions. The implementation of this operation may operate on an arbitrary number of collection partitions, so combop may be invoked an arbitrary number of times.

    For example, one might want to process some elements and then produce a Set. In this case, seqop would process an element and append it to the list, while combop would concatenate two lists from different partitions together. The initial value z would be an empty set.

    pc.aggregate(Set[Int]())(_ += process(_), _ ++ _)

    Another example is calculating geometric mean from a collection of doubles (one would typically require big doubles for this).

    B

    the type of accumulated results

    z

    the initial value for the accumulated result of the partition - this will typically be the neutral element for the seqop operator (e.g. Nil for list concatenation or 0 for summation)

    seqop

    an operator used to accumulate results within a partition

    combop

    an associative operator used to combine results from different partitions

    Definition Classes
    TraversableOnceGenTraversableOnce
  21. def andThen[C](k: (A) ⇒ C): PartialFunction[Int, C]

    Composes this partial function with a transformation function that gets applied to results of this partial function.

    Composes this partial function with a transformation function that gets applied to results of this partial function.

    C

    the result type of the transformation function.

    k

    the transformation function

    returns

    a partial function with the same domain as this partial function, which maps arguments x to k(this(x)).

    Definition Classes
    PartialFunctionFunction1
  22. def apply(n: Int): A

    Selects an element by its index in the list.

    Selects an element by its index in the list. Note: the execution of apply may take time proportial to the index value.

    returns

    the element of this list at index idx, where 0 indicates the first element.

    Definition Classes
    LinearSeqOptimizedSeqLikeGenSeqLike
    Exceptions thrown
    `IndexOutOfBoundsException`

    if idx does not satisfy 0 <= idx < length.

  23. def applyOrElse[A1 <: Int, B1 >: A](x: A1, default: (A1) ⇒ B1): B1

    Applies this partial function to the given argument when it is contained in the function domain.

    Applies this partial function to the given argument when it is contained in the function domain. Applies fallback function where this partial function is not defined.

    Note that expression pf.applyOrElse(x, default) is equivalent to

    if(pf isDefinedAt x) pf(x) else default(x)

    except that applyOrElse method can be implemented more efficiently. For all partial function literals compiler generates applyOrElse implementation which avoids double evaluation of pattern matchers and guards. This makes applyOrElse the basis for the efficient implementation for many operations and scenarios, such as:

    • combining partial functions into orElse/andThen chains does not lead to excessive apply/isDefinedAt evaluation
    • lift and unlift do not evaluate source functions twice on each invocation
    • runWith allows efficient imperative-style combining of partial functions with conditionally applied actions

    For non-literal partial function classes with nontrivial isDefinedAt method it is recommended to override applyOrElse with custom implementation that avoids double isDefinedAt evaluation. This may result in better performance and more predictable behavior w.r.t. side effects.

    x

    the function argument

    default

    the fallback function

    returns

    the result of this function or fallback function application.

    Definition Classes
    PartialFunction
    Since

    2.10

  24. final def asInstanceOf[T0]: T0

    Cast the receiver object to be of type T0.

    Cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression 1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expression List(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

    returns

    the receiver object.

    Definition Classes
    Any
    Exceptions thrown
    ClassCastException

    if the receiver object is not an instance of the erasure of type T0.

  25. def asParIterable: ParIterable[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to TraversableOps[A] performed by method traversable2ops in scala.collection.parallel.
    Definition Classes
    TraversableOps
  26. def asParSeq: ParSeq[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to TraversableOps[A] performed by method traversable2ops in scala.collection.parallel.
    Definition Classes
    TraversableOps
  27. 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 list should be compared

    returns

    true, if this list can possibly equal that, false otherwise. The test takes into consideration only the run-time types of objects but ignores their elements.

    Definition Classes
    IterableLikeEquals
  28. def clone(): AnyRef

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
    Note

    not specified by SLS as a member of AnyRef

  29. def collect[B](pf: PartialFunction[A, B]): List[B]

    [use case] Builds a new collection by applying a partial function to all elements of this list on which the function is defined.

    [use case]

    Builds a new collection by applying a partial function to all elements of this list on which the function is defined.

    B

    the element type of the returned collection.

    pf

    the partial function which filters and maps the list.

    returns

    a new list resulting from applying the given partial function pf to each element on which it is defined and collecting the results. The order of the elements is preserved.

    Definition Classes
    TraversableLikeGenTraversableLike
    Full Signature

    def collect[B, That](pf: PartialFunction[A, B])(implicit bf: CanBuildFrom[List[A], B, That]): That

  30. def collectFirst[B](pf: PartialFunction[A, B]): Option[B]

    Finds the first element of the list for which the given partial function is defined, and applies the partial function to it.

    Finds the first element of the list for which the given partial function is defined, and applies the partial function to it.

    pf

    the partial function

    returns

    an option value containing pf applied to the first value for which it is defined, or None if none exists.

    Definition Classes
    TraversableOnce
    Example:
    1. Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

  31. def combinations(n: Int): Iterator[List[A]]

    Iterates over combinations.

    Iterates over combinations.

    returns

    An Iterator which traverses the possible n-element combinations of this list.

    Definition Classes
    SeqLike
    Example:
    1. "abbbc".combinations(2) = Iterator(ab, ac, bb, bc)

  32. def companion: GenericCompanion[List]

    The factory companion object that builds instances of class List.

    The factory companion object that builds instances of class List. (or its Iterable superclass where class List is not a Seq.)

    Definition Classes
    ListLinearSeqLinearSeqSeqIterableTraversableSeqGenSeqIterableGenIterableTraversableGenTraversableGenericTraversableTemplate
  33. def compose[A](g: (A) ⇒ Int): (A) ⇒ A

    Composes two instances of Function1 in a new Function1, with this function applied last.

    Composes two instances of Function1 in a new Function1, with this function applied last.

    A

    the type to which function g can be applied

    g

    a function A => T1

    returns

    a new function f such that f(x) == apply(g(x))

    Definition Classes
    Function1
    Annotations
    @unspecialized()
  34. def contains(elem: Any): Boolean

    Tests whether this list contains a given value as an element.

    Tests whether this list contains a given value as an element.

    elem

    the element to test.

    returns

    true if this list has an element that is equal (as determined by ==) to elem, false otherwise.

    Definition Classes
    LinearSeqOptimizedSeqLike
  35. def containsSlice[B](that: GenSeq[B]): Boolean

    Tests whether this list contains a given sequence as a slice.

    Tests whether this list contains a given sequence as a slice.

    that

    the sequence to test

    returns

    true if this list contains a slice with the same elements as that, otherwise false.

    Definition Classes
    SeqLike
  36. def copyToArray(xs: Array[A], start: Int, len: Int): Unit

    [use case] Copies elements of this list to an array.

    [use case]

    Copies elements of this list to an array. Fills the given array xs with at most len elements of this list, starting at position start. Copying will stop once either the end of the current list is reached, or the end of the array is reached, or len elements have been copied.

    xs

    the array to fill.

    start

    the starting index.

    len

    the maximal number of elements to copy.

    Definition Classes
    IterableLikeTraversableLikeTraversableOnceGenTraversableOnce
    Full Signature

    def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Unit

  37. def copyToArray(xs: Array[A]): Unit

    [use case] Copies values of this list to an array.

    [use case]

    Copies values of this list to an array. Fills the given array xs with values of this list. Copying will stop once either the end of the current list is reached, or the end of the array is reached.

    xs

    the array to fill.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Full Signature

    def copyToArray[B >: A](xs: Array[B]): Unit

  38. def copyToArray(xs: Array[A], start: Int): Unit

    [use case] Copies values of this list to an array.

    [use case]

    Copies values of this list to an array. Fills the given array xs with values of this list, beginning at index start. Copying will stop once either the end of the current list is reached, or the end of the array is reached.

    xs

    the array to fill.

    start

    the starting index.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Full Signature

    def copyToArray[B >: A](xs: Array[B], start: Int): Unit

  39. def copyToBuffer[B >: A](dest: Buffer[B]): Unit

    Copies all elements of this list to a buffer.

    Copies all elements of this list to a buffer.

    dest

    The buffer to which elements are copied.

    Definition Classes
    TraversableOnce
  40. final def corresponds[B](that: GenSeq[B])(p: (A, B) ⇒ Boolean): Boolean

    Tests whether every element of this list relates to the corresponding element of another sequence by satisfying a test predicate.

    Tests whether every element of this list relates to the corresponding element of another sequence by satisfying a test predicate.

    B

    the type of the elements of that

    that

    the other sequence

    p

    the test predicate, which relates elements from both sequences

    returns

    true if both sequences have the same length and p(x, y) is true for all corresponding elements x of this list and y of that, otherwise false.

    Definition Classes
    LinearSeqLikeSeqLikeGenSeqLike
    Annotations
    @tailrec()
  41. def count(p: (A) ⇒ Boolean): Int

    Counts the number of elements in the list which satisfy a predicate.

    Counts the number of elements in the list which satisfy a predicate.

    p

    the predicate used to test elements.

    returns

    the number of elements satisfying the predicate p.

    Definition Classes
    TraversableOnceGenTraversableOnce
  42. def diff(that: collection.Seq[A]): List[A]

    [use case] Computes the multiset difference between this list and another sequence.

    [use case]

    Computes the multiset difference between this list and another sequence.

    that

    the sequence of elements to remove

    returns

    a new list which contains all elements of this list except some of occurrences of elements that also appear in that. If an element value x appears n times in that, then the first n occurrences of x will not form part of the result, but any following occurrences will.

    Definition Classes
    SeqLikeGenSeqLike
    Full Signature

    def diff[B >: A](that: GenSeq[B]): List[A]

  43. def distinct: List[A]

    Builds a new list from this list without any duplicate elements.

    Builds a new list from this list without any duplicate elements.

    returns

    A new list which contains the first occurrence of every element of this list.

    Definition Classes
    SeqLikeGenSeqLike
  44. def drop(n: Int): List[A]

    Selects all elements except first n ones.

    Selects all elements except first n ones.

    n

    the number of elements to drop from this list.

    returns

    a list consisting of all elements of this list except the first n ones, or else the empty list, if this list has less than n elements.

    Definition Classes
    ListLinearSeqOptimizedIterableLikeTraversableLikeGenTraversableLike
  45. def dropRight(n: Int): List[A]

    Selects all elements except last n ones.

    Selects all elements except last n ones.

    n

    The number of elements to take

    returns

    a list consisting of all elements of this list except the last n ones, or else the empty list, if this list has less than n elements.

    Definition Classes
    LinearSeqOptimizedIterableLike
  46. def dropWhile(p: (A) ⇒ Boolean): List[A]

    Drops longest prefix of elements that satisfy a predicate.

    Drops longest prefix of elements that satisfy a predicate.

    returns

    the longest suffix of this list whose first element does not satisfy the predicate p.

    Definition Classes
    ListTraversableLikeGenTraversableLike
  47. def endsWith[B](that: GenSeq[B]): Boolean

    Tests whether this list ends with the given sequence.

    Tests whether this list ends with the given sequence.

    that

    the sequence to test

    returns

    true if this list has that as a suffix, false otherwise.

    Definition Classes
    SeqLikeGenSeqLike
  48. def ensuring(cond: (List[A]) ⇒ Boolean, msg: ⇒ Any): List[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to Ensuring[List[A]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  49. def ensuring(cond: (List[A]) ⇒ Boolean): List[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to Ensuring[List[A]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  50. def ensuring(cond: Boolean, msg: ⇒ Any): List[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to Ensuring[List[A]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  51. def ensuring(cond: Boolean): List[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to Ensuring[List[A]] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  52. final def eq(arg0: AnyRef): Boolean

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    The eq method implements an equivalence relation on non-null instances of AnyRef, and has three additional properties:

    • It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false.
    • For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false.
    • null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    returns

    true if the argument is a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  53. def equals(that: Any): Boolean

    The equals method for arbitrary sequences.

    The equals method for arbitrary sequences. Compares this sequence to some other object.

    that

    The object to compare the sequence to

    returns

    true if that is a sequence that has the same elements as this sequence in the same order, false otherwise

    Definition Classes
    GenSeqLikeEqualsAny
  54. def exists(p: (A) ⇒ Boolean): Boolean

    Tests whether a predicate holds for some of the elements of this list.

    Tests whether a predicate holds for some of the elements of this list.

    p

    the predicate used to test elements.

    returns

    true if the given predicate p holds for some of the elements of this list, otherwise false.

    Definition Classes
    LinearSeqOptimizedIterableLikeTraversableLikeTraversableOnceGenTraversableOnce
  55. def filter(p: (A) ⇒ Boolean): List[A]

    Selects all elements of this list which satisfy a predicate.

    Selects all elements of this list which satisfy a predicate.

    p

    the predicate used to test elements.

    returns

    a new list consisting of all elements of this list that satisfy the given predicate p. The order of the elements is preserved.

    Definition Classes
    TraversableLikeGenTraversableLike
  56. def filterNot(p: (A) ⇒ Boolean): List[A]

    Selects all elements of this list which do not satisfy a predicate.

    Selects all elements of this list which do not satisfy a predicate.

    p

    the predicate used to test elements.

    returns

    a new list consisting of all elements of this list that do not satisfy the given predicate p. The order of the elements is preserved.

    Definition Classes
    TraversableLikeGenTraversableLike
  57. def finalize(): Unit

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the finalize method is invoked, as well as the interaction between finalize and non-local returns and exceptions, are all platform dependent.

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
    Note

    not specified by SLS as a member of AnyRef

  58. def find(p: (A) ⇒ Boolean): Option[A]

    Finds the first element of the list satisfying a predicate, if any.

    Finds the first element of the list satisfying a predicate, if any.

    p

    the predicate used to test elements.

    returns

    an option value containing the first element in the list that satisfies p, or None if none exists.

    Definition Classes
    LinearSeqOptimizedIterableLikeTraversableLikeTraversableOnceGenTraversableOnce
  59. def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): List[B]

    [use case] Builds a new collection by applying a function to all elements of this list and using the elements of the resulting collections.

    [use case]

    Builds a new collection by applying a function to all elements of this list and using the elements of the resulting collections.

    For example:

    def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")

    The type of the resulting collection is guided by the static type of list. This might cause unexpected results sometimes. For example:

    // lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
    def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
    
    // lettersOf will return a Set[Char], not a Seq
    def lettersOf(words: Seq[String]) = words.toSet flatMap (word => word.toSeq)
    
    // xs will be a an Iterable[Int]
    val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
    
    // ys will be a Map[Int, Int]
    val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
    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 collection-valued function f to each element of this list and concatenating the results.

    Definition Classes
    TraversableLikeGenTraversableLikeFilterMonadic
    Full Signature

    def flatMap[B, That](f: (A) ⇒ GenTraversableOnce[B])(implicit bf: CanBuildFrom[List[A], B, That]): That

  60. def flatten[B]: List[B]

    [use case] Converts this list of traversable collections into a list formed by the elements of these traversable collections.

    [use case]

    Converts this list of traversable collections into a list formed by the elements of these traversable collections.

    The resulting collection's type will be guided by the static type of list. For example:

    val xs = List(Set(1, 2, 3), Set(1, 2, 3))
    // xs == List(1, 2, 3, 1, 2, 3)
    
    val ys = Set(List(1, 2, 3), List(3, 2, 1))
    // ys == Set(1, 2, 3)
    B

    the type of the elements of each traversable collection.

    returns

    a new list resulting from concatenating all element lists.

    Definition Classes
    GenericTraversableTemplate
    Full Signature

    def flatten[B](implicit asTraversable: (A) ⇒ GenTraversableOnce[B]): List[B]

  61. def fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1

    Folds the elements of this list using the specified associative binary operator.

    Folds the elements of this list using the specified associative binary operator.

    The order in which operations are performed on elements is unspecified and may be nondeterministic.

    A1

    a type parameter for the binary operator, a supertype of A.

    z

    a neutral element for the fold operation; may be added to the result an arbitrary number of times, and must not change the result (e.g., Nil for list concatenation, 0 for addition, or 1 for multiplication.)

    op

    a binary operator that must be associative

    returns

    the result of applying fold operator op between all the elements and z

    Definition Classes
    TraversableOnceGenTraversableOnce
  62. def foldLeft[B](z: B)(f: (B, A) ⇒ B): B

    Applies a binary operator to a start value and all elements of this list, going left to right.

    Applies a binary operator to a start value and all elements of this list, going left to right.

    B

    the result type of the binary operator.

    z

    the start value.

    returns

    the result of inserting op between consecutive elements of this list, going left to right with the start value z on the left:

    op(...op(z, x_1), x_2, ..., x_n)

    where x1, ..., xn are the elements of this list.

    Definition Classes
    LinearSeqOptimizedTraversableOnceGenTraversableOnce
  63. def foldRight[B](z: B)(op: (A, B) ⇒ B): B

    Applies a binary operator to all elements of this list and a start value, going right to left.

    Applies a binary operator to all elements of this list and a start value, going right to left.

    B

    the result type of the binary operator.

    z

    the start value.

    op

    the binary operator.

    returns

    the result of inserting op between consecutive elements of this list, going right to left with the start value z on the right:

    op(x_1, op(x_2, ... op(x_n, z)...))

    where x1, ..., xn are the elements of this list.

    Definition Classes
    ListLinearSeqOptimizedIterableLikeTraversableOnceGenTraversableOnce
  64. def forall(p: (A) ⇒ Boolean): Boolean

    Tests whether a predicate holds for all elements of this list.

    Tests whether a predicate holds for all elements of this list.

    p

    the predicate used to test elements.

    returns

    true if the given predicate p holds for all elements of this list, otherwise false.

    Definition Classes
    LinearSeqOptimizedIterableLikeTraversableLikeTraversableOnceGenTraversableOnce
  65. final def foreach(f: (A) ⇒ Unit): Unit

    [use case] Applies a function f to all elements of this list.

    [use case]

    Applies a function f to all elements of this list.

    Note: this method underlies the implementation of most other bulk operations. Subclasses should re-implement this method if a more efficient implementation exists.

    f

    the function that is applied for its side-effect to every element. The result of function f is discarded.

    Definition Classes
    ListLinearSeqOptimizedIterableLikeGenericTraversableTemplateTraversableLikeGenTraversableLikeTraversableOnceGenTraversableOnceFilterMonadic
    Full Signature

    final def foreach[B](f: (A) ⇒ B): Unit

  66. def formatted(fmtstr: String): String

    Returns string formatted according to given format string.

    Returns string formatted according to given format string. Format strings are as for String.format (@see java.lang.String.format).

    Implicit information
    This member is added by an implicit conversion from List[A] to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  67. def genericBuilder[B]: Builder[B, List[B]]

    The generic builder that builds instances of List at arbitrary element types.

    The generic builder that builds instances of List at arbitrary element types.

    Definition Classes
    GenericTraversableTemplate
  68. final def getClass(): Class[_]

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
    AnyRef → Any
    Note

    not specified by SLS as a member of AnyRef

  69. def groupBy[K](f: (A) ⇒ K): Map[K, List[A]]

    Partitions this list into a map of lists according to some discriminator function.

    Partitions this list into a map of lists according to some discriminator function.

    Note: this method is not re-implemented by views. This means when applied to a view it will always force the view and return a new list.

    K

    the type of keys returned by the discriminator function.

    f

    the discriminator function.

    returns

    A map from keys to lists such that the following invariant holds:

    (xs partition f)(k) = xs filter (x => f(x) == k)

    That is, every key k is bound to a list of those elements x for which f(x) equals k.

    Definition Classes
    TraversableLikeGenTraversableLike
  70. def grouped(size: Int): Iterator[List[A]]

    Partitions elements in fixed size lists.

    Partitions elements in fixed size lists.

    size

    the number of elements per group

    returns

    An iterator producing lists of size size, except the last will be truncated if the elements don't divide evenly.

    Definition Classes
    IterableLike
    See also

    scala.collection.Iterator, method grouped

  71. def hasDefiniteSize: Boolean

    Tests whether this list is known to have a finite size.

    Tests whether this list is known to have a finite size. All strict collections are known to have finite size. For a non-strict collection such as Stream, the predicate returns true if all elements have been computed. It returns false if the stream is not yet evaluated to the end.

    Note: many collection methods will not work on collections of infinite sizes.

    returns

    true if this collection is known to have finite size, false otherwise.

    Definition Classes
    TraversableLikeTraversableOnceGenTraversableOnce
  72. def hashCode(): Int

    Hashcodes for List produce a value from the hashcodes of all the elements of the list.

    Hashcodes for List produce a value from the hashcodes of all the elements of the list.

    returns

    the hash code value for this object.

    Definition Classes
    LinearSeqLikeGenSeqLike → AnyRef → Any
  73. def head: A

    Selects the first element of this list.

    Selects the first element of this list.

    returns

    the first element of this list.

    Definition Classes
    IterableLikeTraversableLikeGenTraversableLike
    Exceptions thrown
    `NoSuchElementException`

    if the list is empty.

  74. def headOption: Option[A]

    Optionally selects the first element.

    Optionally selects the first element.

    returns

    the first element of this list if it is nonempty, None if it is empty.

    Definition Classes
    TraversableLikeGenTraversableLike
  75. def ifParSeq[R](isbody: (ParSeq[A]) ⇒ R): (TraversableOps[A])#Otherwise[R]

    Implicit information
    This member is added by an implicit conversion from List[A] to TraversableOps[A] performed by method traversable2ops in scala.collection.parallel.
    Definition Classes
    TraversableOps
  76. def indexOf(elem: A, from: Int): Int

    [use case] Finds index of first occurrence of some value in this list after or at some start index.

    [use case]

    Finds index of first occurrence of some value in this list after or at some start index.

    elem

    the element value to search for.

    from

    the start index

    returns

    the index >= from of the first element of this list that is equal (as determined by ==) to elem, or -1, if none exists.

    Definition Classes
    GenSeqLike
    Full Signature

    def indexOf[B >: A](elem: B, from: Int): Int

  77. def indexOf(elem: A): Int

    [use case] Finds index of first occurrence of some value in this list.

    [use case]

    Finds index of first occurrence of some value in this list.

    elem

    the element value to search for.

    returns

    the index of the first element of this list that is equal (as determined by ==) to elem, or -1, if none exists.

    Definition Classes
    GenSeqLike
    Full Signature

    def indexOf[B >: A](elem: B): Int

  78. def indexOfSlice[B >: A](that: GenSeq[B], from: Int): Int

    Finds first index after or at a start index where this list contains a given sequence as a slice.

    Finds first index after or at a start index where this list contains a given sequence as a slice.

    that

    the sequence to test

    from

    the start index

    returns

    the first index >= from such that the elements of this list starting at this index match the elements of sequence that, or -1 of no such subsequence exists.

    Definition Classes
    SeqLike
  79. def indexOfSlice[B >: A](that: GenSeq[B]): Int

    Finds first index where this list contains a given sequence as a slice.

    Finds first index where this list contains a given sequence as a slice.

    that

    the sequence to test

    returns

    the first index such that the elements of this list starting at this index match the elements of sequence that, or -1 of no such subsequence exists.

    Definition Classes
    SeqLike
  80. def indexWhere(p: (A) ⇒ Boolean, from: Int): 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.

    p

    the predicate used to test elements.

    from

    the start index

    returns

    the index >= from of the first element of this list that satisfies the predicate p, or -1, if none exists.

    Definition Classes
    LinearSeqOptimizedSeqLikeGenSeqLike
  81. def indexWhere(p: (A) ⇒ Boolean): Int

    Finds index of first element satisfying some predicate.

    Finds index of first element satisfying some predicate.

    p

    the predicate used to test elements.

    returns

    the index of the first element of this list that satisfies the predicate p, or -1, if none exists.

    Definition Classes
    GenSeqLike
  82. def indices: Range

    Produces the range of all indices of this sequence.

    Produces the range of all indices of this sequence.

    returns

    a Range value from 0 to one less than the length of this list.

    Definition Classes
    SeqLike
  83. def init: List[A]

    Selects all elements except the last.

    Selects all elements except the last.

    returns

    a list consisting of all elements of this list except the last one.

    Definition Classes
    TraversableLikeGenTraversableLike
    Exceptions thrown
    `UnsupportedOperationException`

    if the list is empty.

  84. def inits: Iterator[List[A]]

    Iterates over the inits of this list.

    Iterates over the inits of this list. The first value will be this list and the final one will be an empty list, with the intervening values the results of successive applications of init.

    returns

    an iterator over all the inits of this list

    Definition Classes
    TraversableLike
    Example:
    1. List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)

  85. def intersect(that: collection.Seq[A]): List[A]

    [use case] Computes the multiset intersection between this list and another sequence.

    [use case]

    Computes the multiset intersection between this list and another sequence.

    that

    the sequence of elements to intersect with.

    returns

    a new list which contains all elements of this list which also appear in that. If an element value x appears n times in that, then the first n occurrences of x will be retained in the result, but any following occurrences will be omitted.

    Definition Classes
    SeqLikeGenSeqLike
    Full Signature

    def intersect[B >: A](that: GenSeq[B]): List[A]

  86. def isDefinedAt(x: Int): Boolean

    Tests whether this list contains given index.

    Tests whether this list contains given index.

    The implementations of methods apply and isDefinedAt turn a Seq[A] into a PartialFunction[Int, A].

    returns

    true if this list contains an element at position idx, false otherwise.

    Definition Classes
    LinearSeqOptimizedGenSeqLike
  87. def isEmpty: Boolean

    Tests whether this list is empty.

    Tests whether this list is empty.

    returns

    true if the list contain no elements, false otherwise.

    Definition Classes
    SeqLikeIterableLikeTraversableLikeTraversableOnceGenTraversableOnce
  88. final def isInstanceOf[T0]: Boolean

    Test whether the dynamic type of the receiver object is T0.

    Test whether the dynamic type of the receiver object is T0.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression 1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    Definition Classes
    Any
  89. def isParIterable: Boolean

    Implicit information
    This member is added by an implicit conversion from List[A] to TraversableOps[A] performed by method traversable2ops in scala.collection.parallel.
    Definition Classes
    TraversableOps
  90. def isParSeq: Boolean

    Implicit information
    This member is added by an implicit conversion from List[A] to TraversableOps[A] performed by method traversable2ops in scala.collection.parallel.
    Definition Classes
    TraversableOps
  91. def isParallel: Boolean

    Implicit information
    This member is added by an implicit conversion from List[A] to TraversableOps[A] performed by method traversable2ops in scala.collection.parallel.
    Definition Classes
    TraversableOps
  92. final def isTraversableAgain: Boolean

    Tests whether this list can be repeatedly traversed.

    Tests whether this list can be repeatedly traversed.

    returns

    true

    Definition Classes
    TraversableLikeGenTraversableLikeGenTraversableOnce
  93. def iterator: Iterator[A]

    Creates a new iterator over all elements contained in this iterable object.

    Creates a new iterator over all elements contained in this iterable object.

    returns

    the new iterator

    Definition Classes
    LinearSeqLikeIterableLikeGenIterableLike
  94. def last: A

    Selects the last element.

    Selects the last element.

    returns

    The last element of this list.

    Definition Classes
    LinearSeqOptimizedTraversableLikeGenTraversableLike
    Exceptions thrown
    NoSuchElementException

    If the list is empty.

  95. def lastIndexOf(elem: A, end: Int): Int

    [use case] Finds index of last occurrence of some value in this list before or at a given end index.

    [use case]

    Finds index of last occurrence of some value in this list before or at a given end index.

    elem

    the element value to search for.

    end

    the end index.

    returns

    the index <= end of the last element of this list that is equal (as determined by ==) to elem, or -1, if none exists.

    Definition Classes
    GenSeqLike
    Full Signature

    def lastIndexOf[B >: A](elem: B, end: Int): Int

  96. def lastIndexOf(elem: A): Int

    [use case] Finds index of last occurrence of some value in this list.

    [use case]

    Finds index of last occurrence of some value in this list.

    elem

    the element value to search for.

    returns

    the index of the last element of this list that is equal (as determined by ==) to elem, or -1, if none exists.

    Definition Classes
    GenSeqLike
    Full Signature

    def lastIndexOf[B >: A](elem: B): Int

  97. def lastIndexOfSlice[B >: A](that: GenSeq[B], end: Int): Int

    Finds last index before or at a given end index where this list contains a given sequence as a slice.

    Finds last index before or at a given end index where this list contains a given sequence as a slice.

    that

    the sequence to test

    end

    the end index

    returns

    the last index <= end such that the elements of this list starting at this index match the elements of sequence that, or -1 of no such subsequence exists.

    Definition Classes
    SeqLike
  98. def lastIndexOfSlice[B >: A](that: GenSeq[B]): Int

    Finds last index where this list contains a given sequence as a slice.

    Finds last index where this list contains a given sequence as a slice.

    that

    the sequence to test

    returns

    the last index such that the elements of this list starting a this index match the elements of sequence that, or -1 of no such subsequence exists.

    Definition Classes
    SeqLike
  99. def lastIndexWhere(p: (A) ⇒ Boolean, end: Int): 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 <= end of the last element of this list that satisfies the predicate p, or -1, if none exists.

    Definition Classes
    LinearSeqOptimizedSeqLikeGenSeqLike
  100. def lastIndexWhere(p: (A) ⇒ Boolean): Int

    Finds index of last element satisfying some predicate.

    Finds index of last element satisfying some predicate.

    p

    the predicate used to test elements.

    returns

    the index of the last element of this list that satisfies the predicate p, or -1, if none exists.

    Definition Classes
    GenSeqLike
  101. def lastOption: Option[A]

    Optionally selects the last element.

    Optionally selects the last element.

    returns

    the last element of this list$ if it is nonempty, None if it is empty.

    Definition Classes
    TraversableLikeGenTraversableLike
  102. def length: Int

    The length of the list.

    The length of the list.

    Note: the execution of length may take time proportial to the length of the sequence.

    returns

    the number of elements in this list.

    Definition Classes
    LinearSeqOptimizedSeqLikeGenSeqLike
  103. def lengthCompare(len: Int): Int

    Compares the length of this list to a test value.

    Compares the length of this list to a test value.

    len

    the test value that gets compared with the length.

    returns

    A value x where

    x <  0       if this.length <  len
    x == 0       if this.length == len
    x >  0       if this.length >  len

    The method as implemented here does not call length directly; its running time is O(length min len) instead of O(length). The method should be overwritten if computing length is cheap.

    Definition Classes
    LinearSeqOptimizedSeqLike
  104. def lift: (Int) ⇒ Option[A]

    Turns this partial function into a plain function returning an Option result.

    Turns this partial function into a plain function returning an Option result.

    returns

    a function that takes an argument x to Some(this(x)) if this is defined for x, and to None otherwise.

    Definition Classes
    PartialFunction
    See also

    Function.unlift

  105. def map[B](f: (A) ⇒ B): List[B]

    [use case] Builds a new collection by applying a function to all elements of this list.

    [use case]

    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 f to each element of this list and collecting the results.

    Definition Classes
    TraversableLikeGenTraversableLikeFilterMonadic
    Full Signature

    def map[B, That](f: (A) ⇒ B)(implicit bf: CanBuildFrom[List[A], B, That]): That

  106. def mapConserve(f: (A) ⇒ A): List[A]

    [use case] Builds a new list by applying a function to all elements of this list.

    [use case]

    Builds a new list by applying a function to all elements of this list. Like xs map f, but returns xs unchanged if function f maps all elements to themselves (as determined by eq).

    f

    the function to apply to each element.

    returns

    a list resulting from applying the given function f to each element of this list and collecting the results.

    Full Signature

    def mapConserve[B >: A <: AnyRef](f: (A) ⇒ B): List[B]

  107. def max: A

    [use case] Finds the largest element.

    [use case]

    Finds the largest element.

    returns

    the largest element of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Full Signature

    def max[B >: A](implicit cmp: Ordering[B]): A

  108. def maxBy[B](f: (A) ⇒ B)(implicit cmp: Ordering[B]): A

    Definition Classes
    TraversableOnceGenTraversableOnce
  109. def min: A

    [use case] Finds the smallest element.

    [use case]

    Finds the smallest element.

    returns

    the smallest element of this list

    Definition Classes
    TraversableOnceGenTraversableOnce
    Full Signature

    def min[B >: A](implicit cmp: Ordering[B]): A

  110. def minBy[B](f: (A) ⇒ B)(implicit cmp: Ordering[B]): A

    Definition Classes
    TraversableOnceGenTraversableOnce
  111. def mkString: String

    Displays all elements of this list in a string.

    Displays all elements of this list in a string.

    returns

    a string representation of this list. In the resulting string the string representations (w.r.t. the method toString) of all elements of this list follow each other without any separator string.

    Definition Classes
    TraversableOnceGenTraversableOnce
  112. def mkString(sep: String): String

    Displays all elements of this list in a string using a separator string.

    Displays all elements of this list in a string using a separator string.

    sep

    the separator string.

    returns

    a string representation of this list. In the resulting string the string representations (w.r.t. the method toString) of all elements of this list are separated by the string sep.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Example:
    1. List(1, 2, 3).mkString("|") = "1|2|3"

  113. def mkString(start: String, sep: String, end: String): String

    Displays all elements of this list in a string using start, end, and separator strings.

    Displays all elements of this list in a string using start, end, and separator strings.

    start

    the starting string.

    sep

    the separator string.

    end

    the ending string.

    returns

    a string representation of this list. The resulting string begins with the string start and ends with the string end. Inside, the string representations (w.r.t. the method toString) of all elements of this list are separated by the string sep.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Example:
    1. List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

  114. final def ne(arg0: AnyRef): Boolean

    Equivalent to !(this eq that).

    Equivalent to !(this eq that).

    returns

    true if the argument is not a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  115. def newBuilder: Builder[A, List[A]]

    The builder that builds instances of type List[A]

    The builder that builds instances of type List[A]

    Attributes
    protected[this]
    Definition Classes
    GenericTraversableTemplateHasNewBuilder
  116. def nonEmpty: Boolean

    Tests whether the list is not empty.

    Tests whether the list is not empty.

    returns

    true if the list contains at least one element, false otherwise.

    Definition Classes
    TraversableOnceGenTraversableOnce
  117. final def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  118. final def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  119. def orElse[A1 <: Int, B1 >: A](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

    Composes this partial function with a fallback partial function which gets applied where this partial function is not defined.

    Composes this partial function with a fallback partial function which gets applied where this partial function is not defined.

    A1

    the argument type of the fallback function

    B1

    the result type of the fallback function

    that

    the fallback function

    returns

    a partial function which has as domain the union of the domains of this partial function and that. The resulting partial function takes x to this(x) where this is defined, and to that(x) where it is not.

    Definition Classes
    PartialFunction
  120. def padTo(len: Int, elem: A): List[A]

    [use case] A copy of this list with an element value appended until a given target length is reached.

    [use case]

    A copy of this list with an element value appended until a given target length is reached.

    len

    the target length

    elem

    the padding value

    returns

    a new list consisting of all elements of this list followed by the minimal number of occurrences of elem so that the resulting list has a length of at least len.

    Definition Classes
    SeqLikeGenSeqLike
    Full Signature

    def padTo[B >: A, That](len: Int, elem: B)(implicit bf: CanBuildFrom[List[A], B, That]): That

  121. def par: ParSeq[A]

    Returns a parallel implementation of this collection.

    Returns a parallel implementation of this collection.

    For most collection types, this method creates a new parallel collection by copying all the elements. For these collection, par takes linear time. Mutable collections in this category do not produce a mutable parallel collection that has the same underlying dataset, so changes in one collection will not be reflected in the other one.

    Specific collections (e.g. ParArray or mutable.ParHashMap) override this default behaviour by creating a parallel collection which shares the same underlying dataset. For these collections, par takes constant or sublinear time.

    All parallel collections return a reference to themselves.

    returns

    a parallel implementation of this collection

    Definition Classes
    Parallelizable
  122. def parCombiner: Combiner[A, ParSeq[A]]

    The default par implementation uses the combiner provided by this method to create a new parallel collection.

    The default par implementation uses the combiner provided by this method to create a new parallel collection.

    returns

    a combiner for the parallel collection of type ParRepr

    Attributes
    protected[this]
    Definition Classes
    SeqSeqLikeIterableTraversableLikeParallelizable
  123. def partition(p: (A) ⇒ Boolean): (List[A], List[A])

    Partitions this list in two lists according to a predicate.

    Partitions this list in two lists according to a predicate.

    p

    the predicate on which to partition.

    returns

    a pair of lists: the first list consists of all elements that satisfy the predicate p and the second list consists of all elements that don't. The relative order of the elements in the resulting lists is the same as in the original list.

    Definition Classes
    TraversableLikeGenTraversableLike
  124. def patch(from: Int, that: GenSeq[A], replaced: Int): List[A]

    [use case] Produces a new list where a slice of elements in this list is replaced by another sequence.

    [use case]

    Produces a new list where a slice of elements in this list is replaced by another sequence.

    from

    the index of the first replaced element

    replaced

    the number of elements to drop in the original list

    returns

    a new list consisting of all elements of this list except that replaced elements starting from from are replaced by patch.

    Definition Classes
    SeqLikeGenSeqLike
    Full Signature

    def patch[B >: A, That](from: Int, patch: GenSeq[B], replaced: Int)(implicit bf: CanBuildFrom[List[A], B, That]): That

  125. def permutations: Iterator[List[A]]

    Iterates over distinct permutations.

    Iterates over distinct permutations.

    returns

    An Iterator which traverses the distinct permutations of this list.

    Definition Classes
    SeqLike
    Example:
    1. "abb".permutations = Iterator(abb, bab, bba)

  126. def prefixLength(p: (A) ⇒ Boolean): Int

    Returns the length of the longest prefix whose elements all satisfy some predicate.

    Returns the length of the longest prefix whose elements all satisfy some predicate.

    p

    the predicate used to test elements.

    returns

    the length of the longest prefix of this list such that every element of the segment satisfies the predicate p.

    Definition Classes
    GenSeqLike
  127. 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 of Int, any other type T with an implicit Numeric[T] implementation can be used as element type of the list and as result type of product. Examples of such types are: Long, Float, Double, BigInt.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Full Signature

    def product[B >: A](implicit num: Numeric[B]): B

  128. def productIterator: scala.Iterator[Any]

    An iterator over all the elements of this product.

    An iterator over all the elements of this product.

    returns

    in the default implementation, an Iterator[Any]

    Definition Classes
    Product
  129. def productPrefix: String

    A string used in the toString methods of derived classes.

    A string used in the toString methods of derived classes. Implementations may override this method to prepend a string prefix to the result of toString methods.

    returns

    in the default implementation, the empty string

    Definition Classes
    Product
  130. def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1

    Reduces the elements of this list using the specified associative binary operator.

    Reduces the elements of this list using the specified associative binary operator.

    The order in which operations are performed on elements is unspecified and may be nondeterministic.

    A1

    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 op between all the elements if the list is nonempty.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Exceptions thrown
    UnsupportedOperationException

    if this list is empty.

  131. def reduceLeft[B >: A](f: (B, A) ⇒ B): B

    Applies a binary operator to all elements of this list, going left to right.

    Applies a binary operator to all elements of this list, going left to right.

    B

    the result type of the binary operator.

    returns

    the result of inserting op between consecutive elements of this list, going left to right:

    op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)

    where x1, ..., xn are the elements of this list.

    Definition Classes
    LinearSeqOptimizedTraversableOnce
    Exceptions thrown
    `UnsupportedOperationException`

    if this list is empty.

  132. def reduceLeftOption[B >: A](op: (B, A) ⇒ B): Option[B]

    Optionally applies a binary operator to all elements of this list, going left to right.

    Optionally applies a binary operator to all elements of this list, going left to right.

    B

    the result type of the binary operator.

    op

    the binary operator.

    returns

    an option value containing the result of reduceLeft(op) is this list is nonempty, None otherwise.

    Definition Classes
    TraversableOnceGenTraversableOnce
  133. def reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]

    Reduces the elements of this list, if any, using the specified associative binary operator.

    Reduces the elements of this list, if any, using the specified associative binary operator.

    The order in which operations are performed on elements is unspecified and may be nondeterministic.

    A1

    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 op between all the elements if the collection is nonempty, and None otherwise.

    Definition Classes
    TraversableOnceGenTraversableOnce
  134. def reduceRight[B >: A](op: (A, B) ⇒ B): B

    Applies a binary operator to all elements of this list, going right to left.

    Applies a binary operator to all elements of this list, going right to left.

    B

    the result type of the binary operator.

    op

    the binary operator.

    returns

    the result of inserting op between consecutive elements of this list, going right to left:

    op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

    where x1, ..., xn are the elements of this list.

    Definition Classes
    LinearSeqOptimizedIterableLikeTraversableOnceGenTraversableOnce
    Exceptions thrown
    `UnsupportedOperationException`

    if this list is empty.

  135. def reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]

    Optionally applies a binary operator to all elements of this list, going right to left.

    Optionally applies a binary operator to all elements of this list, going right to left.

    B

    the result type of the binary operator.

    op

    the binary operator.

    returns

    an option value containing the result of reduceRight(op) is this list is nonempty, None otherwise.

    Definition Classes
    TraversableOnceGenTraversableOnce
  136. def repr: List[A]

    The collection of type list underlying this TraversableLike object.

    The collection of type list underlying this TraversableLike object. By default this is implemented as the TraversableLike object itself, but this can be overridden.

    Definition Classes
    TraversableLikeGenTraversableLike
  137. def reverse: List[A]

    Returns new list wih elements in reversed order.

    Returns new list wih elements in reversed order.

    returns

    A new list with all elements of this list in reversed order.

    Definition Classes
    ListSeqLikeGenSeqLike
  138. def reverseIterator: Iterator[A]

    An iterator yielding elements in reversed order.

    An iterator yielding elements in reversed order.

    Note: xs.reverseIterator is the same as xs.reverse.iterator but might be more efficient.

    returns

    an iterator yielding the elements of this list in reversed order

    Definition Classes
    SeqLike
  139. def reverseMap[B](f: (A) ⇒ B): List[B]

    [use case] Builds a new collection by applying a function to all elements of this list and collecting the results in reversed order.

    [use case]

    Builds a new collection by applying a function to all elements of this list and collecting the results in reversed order.

    Note: xs.reverseMap(f) is the same as xs.reverse.map(f) but might be more efficient.

    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 f to each element of this list and collecting the results in reversed order.

    Definition Classes
    SeqLikeGenSeqLike
    Full Signature

    def reverseMap[B, That](f: (A) ⇒ B)(implicit bf: CanBuildFrom[List[A], B, That]): That

  140. def reverse_:::(prefix: List[A]): List[A]

    [use case] Adds the elements of a given list in reverse order in front of this list.

    [use case]

    Adds the elements of a given list in reverse order in front of this list. xs reverse_::: ys is equivalent to xs.reverse ::: ys but is more efficient.

    prefix

    the prefix to reverse and then prepend

    returns

    the concatenation of the reversed prefix and the current list.

    Full Signature

    def reverse_:::[B >: A](prefix: List[B]): List[B]

  141. def reversed: scala.List[A]

    Attributes
    protected[this]
    Definition Classes
    TraversableOnce
  142. def runWith[U](action: (A) ⇒ U): (Int) ⇒ Boolean

    Composes this partial function with an action function which gets applied to results of this partial function.

    Composes this partial function with an action function which gets applied to results of this partial function. The action function is invoked only for its side effects; its result is ignored.

    Note that expression pf.runWith(action)(x) is equivalent to

    if(pf isDefinedAt x) { action(pf(x)); true } else false

    except that runWith is implemented via applyOrElse and thus potentially more efficient. Using runWith avoids double evaluation of pattern matchers and guards for partial function literals.

    action

    the action function

    returns

    a function which maps arguments x to isDefinedAt(x). The resulting function runs action(this(x)) where this is defined.

    Definition Classes
    PartialFunction
    Since

    2.10

    See also

    applyOrElse.

  143. def sameElements(that: GenIterable[A]): Boolean

    [use case] Checks if the other iterable collection contains the same elements in the same order as this list.

    [use case]

    Checks if the other iterable collection contains the same elements in the same order as this list.

    that

    the collection to compare with.

    returns

    true, if both collections contain the same elements in the same order, false otherwise.

    Definition Classes
    LinearSeqOptimizedIterableLikeGenIterableLike
    Full Signature

    def sameElements[B >: A](that: GenIterable[B]): Boolean

  144. def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[List[A], B, That]): That

    Computes a prefix scan of the elements of the collection.

    Computes a prefix scan of the elements of the collection.

    Note: The neutral element z may be applied more than once.

    B

    element type of the resulting collection

    That

    type of the resulting collection

    z

    neutral element for the operator op

    op

    the associative operator for the scan

    cbf

    combiner factory which provides a combiner

    returns

    a new list containing the prefix scan of the elements in this list

    Definition Classes
    TraversableLikeGenTraversableLike
  145. def scanLeft[B, That](z: B)(op: (B, A) ⇒ B)(implicit bf: CanBuildFrom[List[A], B, That]): That

    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.

    B

    the type of the elements in the resulting collection

    That

    the actual type of the resulting collection

    z

    the initial value

    op

    the binary operator applied to the intermediate result and the element

    bf

    an implicit value of class CanBuildFrom which determines the result class That from the current representation type Repr and the new element type B. This is usually the canBuildFrom value defined in object List.

    returns

    collection with intermediate results

    Definition Classes
    TraversableLikeGenTraversableLike
  146. def scanRight[B, That](z: B)(op: (A, B) ⇒ B)(implicit bf: CanBuildFrom[List[A], B, That]): That

    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.

    Example:

    List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
    B

    the type of the elements in the resulting collection

    That

    the actual type of the resulting collection

    z

    the initial value

    op

    the binary operator applied to the intermediate result and the element

    bf

    an implicit value of class CanBuildFrom which determines the result class That from the current representation type Repr and the new element type B. This is usually the canBuildFrom value defined in object List.

    returns

    collection with intermediate results

    Definition Classes
    TraversableLikeGenTraversableLike
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) The behavior of scanRight has changed. The previous behavior can be reproduced with scanRight.reverse.

  147. def segmentLength(p: (A) ⇒ Boolean, from: Int): Int

    Computes length of longest segment whose elements all satisfy some predicate.

    Computes length of longest segment whose elements all satisfy some predicate.

    p

    the predicate used to test elements.

    from

    the index where the search starts.

    returns

    the length of the longest segment of this list starting from index from such that every element of the segment satisfies the predicate p.

    Definition Classes
    LinearSeqOptimizedSeqLikeGenSeqLike
  148. def seq: LinearSeq[A]

    A version of this collection with all of the operations implemented sequentially (i.

    A version of this collection with all of the operations implemented sequentially (i.e. in a single-threaded manner).

    This method returns a reference to this collection. In parallel collections, it is redefined to return a sequential implementation of this collection. In both cases, it has O(1) complexity.

    returns

    a sequential view of the collection.

    Definition Classes
    LinearSeqLinearSeqLinearSeqLikeSeqSeqGenSeqGenSeqLikeIterableIterableGenIterableTraversableTraversableGenTraversableParallelizableTraversableOnceGenTraversableOnce
  149. def size: Int

    The size of this list, equivalent to length.

    The size of this list, equivalent to length.

    returns

    the number of elements in this list.

    Definition Classes
    SeqLikeGenTraversableLikeTraversableOnceGenTraversableOnce
  150. def slice(from: Int, until: Int): List[A]

    returns

    a list containing the elements greater than or equal to index from extending up to (but not including) index until of this list.

    Definition Classes
    ListLinearSeqOptimizedIterableLikeTraversableLikeGenTraversableLike
    Example:
    1. // 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')
  151. 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 (defaults to 1)

    returns

    An iterator producing lists of size size, except the last and the only element will be truncated if there are fewer elements than size.

    Definition Classes
    IterableLike
    See also

    scala.collection.Iterator, method sliding

  152. 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.

    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

    returns

    An iterator producing lists of size size, except the last and the only element will be truncated if there are fewer elements than size.

    Definition Classes
    IterableLike
    See also

    scala.collection.Iterator, method sliding

  153. def sortBy[B](f: (A) ⇒ B)(implicit ord: math.Ordering[B]): List[A]

    Sorts this List according to the Ordering which results from transforming an implicitly given Ordering with a transformation function.

    Sorts this List 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 ordering ord is defined.

    f

    the transformation function mapping elements to some other domain B.

    ord

    the ordering assumed on domain B.

    returns

    a list consisting of the elements of this list sorted according to the ordering where x < y if ord.lt(f(x), f(y)).

    Definition Classes
    SeqLike
    Example:
    1. 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

  154. def sortWith(lt: (A, A) ⇒ Boolean): List[A]

    Sorts this list according to a comparison function.

    Sorts this list according to a comparison function.

    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 list consisting of the elements of this list sorted according to the comparison function lt.

    Definition Classes
    SeqLike
    Example:
    1. List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
      List("Bob", "John", "Steve", "Tom")
  155. def sorted[B >: A](implicit ord: math.Ordering[B]): List[A]

    Sorts this list according to an Ordering.

    Sorts this list 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 list consisting of the elements of this list sorted according to the ordering ord.

    Definition Classes
    SeqLike
    See also

    scala.math.Ordering

  156. 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 p is equivalent to (but possibly more efficient than) (c takeWhile p, c dropWhile p), provided the evaluation of the predicate p does not cause any side-effects.

    returns

    a pair consisting of the longest prefix of this list whose elements all satisfy p, and the rest of this list.

    Definition Classes
    ListLinearSeqOptimizedTraversableLikeGenTraversableLike
  157. 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 n is 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 n elements of this list, and the other elements.

    Definition Classes
    ListTraversableLikeGenTraversableLike
  158. def startsWith[B](that: GenSeq[B], offset: Int): Boolean

    Tests whether this list contains the given sequence at a given index.

    Tests whether this list contains the given sequence at a given index.

    Note: If the both the receiver object this and the argument that are infinite sequences this method may not terminate.

    that

    the sequence to test

    offset

    the index where the sequence is searched.

    returns

    true if the sequence that is contained in this list at index offset, otherwise false.

    Definition Classes
    SeqLikeGenSeqLike
  159. def startsWith[B](that: GenSeq[B]): Boolean

    Tests whether this list starts with the given sequence.

    Tests whether this list starts with the given sequence.

    that

    the sequence to test

    returns

    true if this collection has that as a prefix, false otherwise.

    Definition Classes
    GenSeqLike
  160. def stringPrefix: String

    Defines the prefix of this object's toString representation.

    Defines the prefix of this object's toString representation.

    returns

    a string representation which starts the result of toString applied to this list. By default the string prefix is the simple name of the collection class list.

    Definition Classes
    ListTraversableLikeGenTraversableLike
  161. 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 of Int, any other type T with an implicit Numeric[T] implementation can be used as element type of the list and as result type of sum. Examples of such types are: Long, Float, Double, BigInt.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Full Signature

    def sum[B >: A](implicit num: Numeric[B]): B

  162. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  163. def tail: List[A]

    Selects all elements except the first.

    Selects all elements except the first.

    returns

    a list consisting of all elements of this list except the first one.

    Definition Classes
    TraversableLikeGenTraversableLike
    Exceptions thrown
    `UnsupportedOperationException`

    if the list is empty.

  164. def tails: Iterator[List[A]]

    Iterates over the tails of this list.

    Iterates over the tails of this list. The first value will be this list and the final one will be an empty list, with the intervening values the results of successive applications of tail.

    returns

    an iterator over all the tails of this list

    Definition Classes
    TraversableLike
    Example:
    1. List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

  165. def take(n: Int): List[A]

    Selects first n elements.

    Selects first n elements.

    n

    the number of elements to take from this list.

    returns

    a list consisting only of the first n elements of this list, or else the whole list, if it has less than n elements.

    Definition Classes
    ListLinearSeqOptimizedIterableLikeTraversableLikeGenTraversableLike
  166. def takeRight(n: Int): List[A]

    Selects last n elements.

    Selects last n elements.

    n

    the number of elements to take

    returns

    a list consisting only of the last n elements of this list, or else the whole list, if it has less than n elements.

    Definition Classes
    ListIterableLike
  167. 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.

    returns

    the longest prefix of this list whose elements all satisfy the predicate p.

    Definition Classes
    ListLinearSeqOptimizedIterableLikeTraversableLikeGenTraversableLike
  168. def thisCollection: collection.LinearSeq[A]

    The underlying collection seen as an instance of List.

    The underlying collection seen as an instance of List. By default this is implemented as the current collection object itself, but this can be overridden.

    Attributes
    protected[this]
    Definition Classes
    LinearSeqLikeSeqLikeIterableLikeTraversableLike
  169. def to[Col[_]]: Col[A]

    [use case] Converts this list into another by copying all elements.

    [use case]

    Converts this list into another by copying all elements.

    Col

    The collection type to build.

    returns

    a new collection containing all elements of this list.

    Definition Classes
    TraversableLikeTraversableOnceGenTraversableOnce
    Full Signature

    def to[Col[_]](implicit cbf: CanBuildFrom[Nothing, A, Col[A]]): Col[A]

  170. def toArray: Array[A]

    [use case] Converts this list to an array.

    [use case]

    Converts this list to an array.

    returns

    an array containing all elements of this list. An ClassTag must be available for the element type of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Full Signature

    def toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]

  171. def toBuffer[B >: A]: Buffer[B]

    Converts this list to a mutable buffer.

    Converts this list to a mutable buffer.

    returns

    a buffer containing all elements of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
  172. def toCollection(repr: List[A]): collection.LinearSeq[A]

    A conversion from collections of type Repr to List objects.

    A conversion from collections of type Repr to List objects. By default this is implemented as just a cast, but this can be overridden.

    Attributes
    protected[this]
    Definition Classes
    LinearSeqLikeSeqLikeIterableLikeTraversableLike
  173. def toIndexedSeq: IndexedSeq[A]

    Converts this list to an indexed sequence.

    Converts this list to an indexed sequence.

    returns

    an indexed sequence containing all elements of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
  174. def toIterable: collection.Iterable[A]

    Converts this list to an iterable collection.

    Converts this list to an iterable collection. Note that the choice of target Iterable is lazy in this default implementation as this TraversableOnce may be lazy and unevaluated (i.e. it may be an iterator which is only traversable once).

    returns

    an Iterable containing all elements of this list.

    Definition Classes
    IterableLikeTraversableOnceGenTraversableOnce
  175. def toIterator: Iterator[A]

    Returns an Iterator over the elements in this list.

    Returns an Iterator over the elements in this list. Will return the same Iterator if this instance is already an Iterator.

    returns

    an Iterator containing all elements of this list.

    Definition Classes
    IterableLikeTraversableLikeGenTraversableOnce
  176. def toList: List[A]

    Converts this list to a list.

    Converts this list to a list.

    returns

    a list containing all elements of this list.

    Definition Classes
    ListTraversableOnceGenTraversableOnce
  177. def toMap[T, U]: collection.Map[T, U]

    [use case] Converts this list to a map.

    [use case]

    Converts this list to a map. This method is unavailable unless the elements are members of Tuple2, each ((T, U)) becoming a key-value pair in the map. Duplicate keys will be overwritten by later keys: if this is an unordered collection, which key is in the resulting map is undefined.

    returns

    a map of type immutable.Map[T, U] containing all key/value pairs of type (T, U) of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
    Full Signature

    def toMap[T, U](implicit ev: <:<[A, (T, U)]): Map[T, U]

  178. def toParArray: ParArray[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to TraversableOps[A] performed by method traversable2ops in scala.collection.parallel.
    Definition Classes
    TraversableOps
  179. def toSeq: Seq[A]

    Converts this list to a sequence.

    Converts this list to a sequence.

    Overridden for efficiency.

    returns

    a sequence containing all elements of this list.

    Definition Classes
    SeqSeqLikeGenSeqLikeTraversableOnceGenTraversableOnce
  180. def toSet[B >: A]: Set[B]

    Converts this list to a set.

    Converts this list to a set.

    returns

    a set containing all elements of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
  181. def toStream: Stream[A]

    Converts this list to a stream.

    Converts this list to a stream.

    returns

    a stream containing all elements of this list.

    Definition Classes
    ListIterableLikeTraversableLikeGenTraversableOnce
  182. def toString(): String

    Converts this list to a string.

    Converts this list to a string.

    returns

    a string representation of this collection. By default this string consists of the stringPrefix of this list, followed by all elements separated by commas and enclosed in parentheses.

    Definition Classes
    SeqLikeTraversableLikeAny
  183. def toTraversable: collection.Traversable[A]

    Converts this list to an unspecified Traversable.

    Converts this list to an unspecified Traversable. Will return the same collection if this instance is already Traversable.

    returns

    a Traversable containing all elements of this list.

    Definition Classes
    TraversableLikeTraversableOnceGenTraversableOnce
  184. def toVector: scala.Vector[A]

    Converts this list to a Vector.

    Converts this list to a Vector.

    returns

    a vector containing all elements of this list.

    Definition Classes
    TraversableOnceGenTraversableOnce
  185. def transpose[B](implicit asTraversable: (A) ⇒ GenTraversableOnce[B]): List[List[B]]

    Transposes this list of traversable collections into a list of lists.

    Transposes this list of traversable collections into a list of lists.

    B

    the type of the elements of each traversable collection.

    asTraversable

    an implicit conversion which asserts that the element type of this list is a Traversable.

    returns

    a two-dimensional list of lists which has as nth row the nth column of this list.

    Definition Classes
    GenericTraversableTemplate
    Annotations
    @migration
    Migration

    (Changed in version 2.9.0) transpose throws an IllegalArgumentException if collections are not uniformly sized.

    Exceptions thrown
    `IllegalArgumentException`

    if all collections in this list are not of the same size.

  186. def union(that: collection.Seq[A]): List[A]

    [use case] Produces a new sequence which contains all elements of this list and also all elements of a given sequence.

    [use case]

    Produces a new sequence which contains all elements of this list and also all elements of a given sequence. xs union ys is equivalent to xs ++ ys.

    Another way to express this is that xs union ys computes the order-presevring multi-set union of xs and ys. union is hence a counter-part of diff and intersect which also work on multi-sets.

    that

    the sequence to add.

    returns

    a new list which contains all elements of this list followed by all elements of that.

    Definition Classes
    SeqLikeGenSeqLike
    Full Signature

    def union[B >: A, That](that: GenSeq[B])(implicit bf: CanBuildFrom[List[A], B, That]): That

  187. def unzip[A1, A2](implicit asPair: (A) ⇒ (A1, A2)): (List[A1], List[A2])

    Converts this list of pairs into two collections of the first and second half of each pair.

    Converts this list of pairs into two collections of the first and second half of each pair.

    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 list is a pair.

    returns

    a pair lists, containing the first, respectively second half of each element pair of this list.

    Definition Classes
    GenericTraversableTemplate
  188. def unzip3[A1, A2, A3](implicit asTriple: (A) ⇒ (A1, A2, A3)): (List[A1], List[A2], List[A3])

    Converts this list of triples into three collections of the first, second, and third element of each triple.

    Converts this list of triples into three collections of the first, second, and third element of each triple.

    A1

    the type of the first member of the element triples

    A2

    the type of the second member of the element triples

    A3

    the type of the third member of the element triples

    asTriple

    an implicit conversion which asserts that the element type of this list is a triple.

    returns

    a triple lists, containing the first, second, respectively third member of each element triple of this list.

    Definition Classes
    GenericTraversableTemplate
  189. def updated(index: Int, elem: A): List[A]

    [use case] A copy of this list with one single replaced element.

    [use case]

    A copy of this list with one single replaced element.

    index

    the position of the replacement

    elem

    the replacing element

    returns

    a copy of this list with the element at position index replaced by elem.

    Definition Classes
    SeqLikeGenSeqLike
    Full Signature

    def updated[B >: A, That](index: Int, elem: B)(implicit bf: CanBuildFrom[List[A], B, That]): That

  190. def view(from: Int, until: Int): SeqView[A, List[A]]

    Creates a non-strict view of a slice of this list.

    Creates a non-strict view of a slice of this list.

    Note: the difference between view and slice is that view produces a view of the current list, whereas slice produces a new list.

    Note: view(from, to) is equivalent to view.slice(from, to)

    from

    the index of the first element of the view

    until

    the index of the element following the view

    returns

    a non-strict view of a slice of this list, starting at index from and extending up to (but not including) index until.

    Definition Classes
    SeqLikeIterableLikeTraversableLike
  191. def view: SeqView[A, List[A]]

    Creates a non-strict view of this list.

    Creates a non-strict view of this list.

    returns

    a non-strict view of this list.

    Definition Classes
    SeqLikeIterableLikeTraversableLike
  192. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  193. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  194. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  195. def withFilter(p: (A) ⇒ Boolean): FilterMonadic[A, List[A]]

    Creates a non-strict filter of this list.

    Creates a non-strict filter of this list.

    Note: the difference between c filter p and c withFilter p is that the former creates a new collection, whereas the latter only restricts the domain of subsequent map, flatMap, foreach, and withFilter operations.

    p

    the predicate used to test elements.

    returns

    an object of class WithFilter, which supports map, flatMap, foreach, and withFilter operations. All these operations apply to those elements of this list which satisfy the predicate p.

    Definition Classes
    TraversableLikeFilterMonadic
  196. def zip[B](that: GenIterable[B]): List[(A, B)]

    [use case] Returns a list formed from this list and another iterable collection by combining corresponding elements in pairs.

    [use case]

    Returns a list formed from this list 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

    that

    The iterable providing the second half of each result pair

    returns

    a new list containing pairs consisting of corresponding elements of this list and that. The length of the returned collection is the minimum of the lengths of this list and that.

    Definition Classes
    IterableLikeGenIterableLike
    Full Signature

    def zip[A1 >: A, B, That](that: GenIterable[B])(implicit bf: CanBuildFrom[List[A], (A1, B), That]): That

  197. def zipAll[B](that: collection.Iterable[B], thisElem: A, thatElem: B): List[(A, B)]

    [use case] Returns a list formed from this list and another iterable collection by combining corresponding elements in pairs.

    [use case]

    Returns a list formed from this list and another iterable collection by combining corresponding elements in pairs. If one of the two collections is shorter than the other, placeholder elements are used to extend the shorter collection to the length of the longer.

    B

    the type of the second half of the returned pairs

    that

    The iterable providing the second half of each result pair

    thisElem

    the element to be used to fill up the result if this list is shorter than that.

    thatElem

    the element to be used to fill up the result if that is shorter than this list.

    returns

    a new list containing pairs consisting of corresponding elements of this list and that. The length of the returned collection is the maximum of the lengths of this list and that. If this list is shorter than that, thisElem values are used to pad the result. If that is shorter than this list, thatElem values are used to pad the result.

    Definition Classes
    IterableLikeGenIterableLike
    Full Signature

    def zipAll[B, A1 >: A, That](that: GenIterable[B], thisElem: A1, thatElem: B)(implicit bf: CanBuildFrom[List[A], (A1, B), That]): That

  198. def zipWithIndex: List[(A, Int)]

    [use case] Zips this list with its indices.

    [use case]

    Zips this list with its indices.

    returns

    A new list containing pairs consisting of all elements of this list paired with their index. Indices start at 0.

    Definition Classes
    IterableLikeGenIterableLike
    Full Signature

    def zipWithIndex[A1 >: A, That](implicit bf: CanBuildFrom[List[A], (A1, Int), That]): That

    Example:
    1. List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))

  199. def [B](y: B): (List[A], B)

    Implicit information
    This member is added by an implicit conversion from List[A] to ArrowAssoc[List[A]] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implicit Value Members

  1. def filter(p: (A) ⇒ Boolean): TraversableOnce[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to MonadOps[A] performed by method MonadOps in scala.collection.TraversableOnce.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (list: MonadOps[A]).filter(p)
    Definition Classes
    MonadOps
  2. def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]

    Implicit information
    This member is added by an implicit conversion from List[A] to MonadOps[A] performed by method MonadOps in scala.collection.TraversableOnce.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (list: MonadOps[A]).flatMap(f)
    Definition Classes
    MonadOps
  3. def map[B](f: (A) ⇒ B): TraversableOnce[B]

    Implicit information
    This member is added by an implicit conversion from List[A] to MonadOps[A] performed by method MonadOps in scala.collection.TraversableOnce.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (list: MonadOps[A]).map(f)
    Definition Classes
    MonadOps
  4. val self: Any

    Implicit information
    This member is added by an implicit conversion from List[A] to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (list: StringAdd).self
    Definition Classes
    StringAdd
  5. val self: Any

    Implicit information
    This member is added by an implicit conversion from List[A] to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (list: StringFormat).self
    Definition Classes
    StringFormat
  6. def withFilter(p: (A) ⇒ Boolean): Iterator[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to MonadOps[A] performed by method MonadOps in scala.collection.TraversableOnce.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (list: MonadOps[A]).withFilter(p)
    Definition Classes
    MonadOps

Deprecated Value Members

  1. def /:\[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1

    A syntactic sugar for out of order folding.

    A syntactic sugar for out of order folding. See fold.

    Example:

    scala> val a = LinkedList(1,2,3,4)
    a: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2, 3, 4)
    
    scala> val b = (a /:\ 5)(_+_)
    b: Int = 15
    Definition Classes
    GenTraversableOnce
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) use fold instead

  2. def removeDuplicates: List[A]

    Annotations
    @deprecated
    Deprecated

    (Since version 2.8.0) use distinct instead

  3. def x: List[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to ArrowAssoc[List[A]] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (list: ArrowAssoc[List[A]]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  4. def x: List[A]

    Implicit information
    This member is added by an implicit conversion from List[A] to Ensuring[List[A]] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (list: Ensuring[List[A]]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from LinearSeqOptimized[A, List[A]]

Inherited from Product

Inherited from LinearSeq[A]

Inherited from collection.LinearSeq[A]

Inherited from LinearSeqLike[A, List[A]]

Inherited from Seq[A]

Inherited from Iterable[A]

Inherited from Traversable[A]

Inherited from Immutable

Inherited from AbstractSeq[A]

Inherited from collection.Seq[A]

Inherited from SeqLike[A, List[A]]

Inherited from GenSeq[A]

Inherited from GenSeqLike[A, List[A]]

Inherited from PartialFunction[Int, A]

Inherited from (Int) ⇒ A

Inherited from AbstractIterable[A]

Inherited from collection.Iterable[A]

Inherited from IterableLike[A, List[A]]

Inherited from Equals

Inherited from GenIterable[A]

Inherited from GenIterableLike[A, List[A]]

Inherited from AbstractTraversable[A]

Inherited from collection.Traversable[A]

Inherited from GenTraversable[A]

Inherited from GenericTraversableTemplate[A, List]

Inherited from TraversableLike[A, List[A]]

Inherited from GenTraversableLike[A, List[A]]

Inherited from Parallelizable[A, ParSeq[A]]

Inherited from TraversableOnce[A]

Inherited from GenTraversableOnce[A]

Inherited from FilterMonadic[A, List[A]]

Inherited from HasNewBuilder[A, List[A] @scala.annotation.unchecked.uncheckedVariance]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion traversable2ops from List[A] to TraversableOps[A]

Inherited by implicit conversion MonadOps from List[A] to MonadOps[A]

Inherited by implicit conversion any2stringadd from List[A] to StringAdd

Inherited by implicit conversion any2stringfmt from List[A] to StringFormat

Inherited by implicit conversion any2ArrowAssoc from List[A] to ArrowAssoc[List[A]]

Inherited by implicit conversion any2Ensuring from List[A] to Ensuring[List[A]]

Inherited by implicit conversion alternateImplicit from List[A] to ForceImplicitAmbiguity

Ungrouped