scala.collection.immutable

# List

#### object List extends SeqFactory[List]

This object provides a set of operations to create `List` values.

Source
  List.scala

Linear Supertypes
SeqFactory[List], TraversableFactory[List], GenericSeqCompanion[List], GenSeqFactory[List], GenTraversableFactory[List], GenericCompanion[List], AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. Hide All
2. Show all

1. List
2. SeqFactory
3. TraversableFactory
4. GenericSeqCompanion
5. GenSeqFactory
6. GenTraversableFactory
7. GenericCompanion
8. AnyRef
9. Any

Visibility

1. Public
2. All

### Type Members

1. #### type Coll = List[_]

   The underlying collection type with unknown element type

   The underlying collection type with unknown element type

   Definition Classes
     GenericCompanion

2. #### class GenericCanBuildFrom[A] extends CanBuildFrom[CC[_], A, CC[A]]

   A generic implementation of the `CanBuildFrom` trait, which forwards all calls to `apply(from)` to the `genericBuilder` method of collection `from`, and which forwards all calls of `apply()` to the `newBuilder` method of this factory.

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

   Equivalent to `x.hashCode` except for boxed numeric types. 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.

   returns

     a hash value consistent with ==

   Definition Classes
     AnyRef → Any

4. #### final def ==(arg0: AnyRef): Boolean

   Definition Classes
     AnyRef

5. #### final def ==(arg0: Any): Boolean

   Test two objects for equality.

   Test two objects for equality.

   returns

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

   Definition Classes
     Any

6. #### def apply[A](xs: A*): List[A]

   Creates a list with the specified elements.

   Creates a list with the specified elements.

   A

     the type of the list's elements

   returns

     a new list with elements `elems`

   Definition Classes
     List → GenericSeqCompanion → GenericCompanion

7. #### 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`.

8. #### implicit def canBuildFrom[A]: CanBuildFrom[Coll, A, List[A]]

   The standard `CanBuildFrom` instance for List objects.

   The standard `CanBuildFrom` instance for List objects. The created value is an instance of class `GenericCanBuildFrom`, which forwards calls to create a new builder to the `genericBuilder` method of the requesting collection.

9. #### 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[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws()
   Note

     not specified by SLS as a member of AnyRef

10. #### def empty[A]: List[A]

    An empty collection of type `List[A]`

    An empty collection of type `List[A]`

    A

      the type of the list's elements

    Definition Classes
      List → GenericSeqCompanion → GenericCompanion

11. #### 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

12. #### def equals(arg0: Any): Boolean

    The equality method for reference types.

    The equality method for reference types. See equals in Any.

    returns

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

    Definition Classes
      AnyRef → Any

13. #### 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[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws()
    Note

      not specified by SLS as a member of AnyRef

14. #### final def getClass(): java.lang.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

15. #### def hashCode(): Int

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in Any.

    returns

      the hash code value for this object.

    Definition Classes
      AnyRef → Any

16. #### 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

17. #### 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

18. #### def newBuilder[A]: Builder[A, List[A]]

    The default builder for `List` objects.

    The default builder for `List` objects.

    A

      the type of the list's elements

    Definition Classes
      List → GenericCompanion

19. #### 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

20. #### 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

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

    Definition Classes
      AnyRef

22. #### def toString(): String

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

      a String representation of the object.

    Definition Classes
      AnyRef → Any

23. #### def unapplySeq[A](x: List[A]): Some[List[A]]

    This method is called in a pattern match { case Seq(.

    This method is called in a pattern match { case Seq(...) => }.

    x

      the selector value

    returns

      sequence wrapped in an option, if this is a Seq, otherwise none

    Definition Classes
      GenSeqFactory

24. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws()

25. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws()

26. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws()

### Deprecated Value Members

1. #### def exists2[A, B](xs: List[A], ys: List[B])(f: (A, B) ⇒ Boolean): Boolean

   Tests whether the given predicate `p` holds for some corresponding elements of the argument lists.

   Tests whether the given predicate `p` holds for some corresponding elements of the argument lists.

   returns

     `n != 0 && (p(a0,b0) || ... || p(an,bn))]` if the lists are `[a0, ..., ak]`, `[b0, ..., bl]` and `n = min(k,l)`

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `(xs, ys).zipped.exists(f)' instead of` List.exists2(xs, ys)(f)'

2. #### def flatten[A](xss: List[List[A]]): List[A]

   Concatenate all the elements of a given list of lists.

   Concatenate all the elements of a given list of lists.

   xss

     the list of lists that are to be concatenated

   returns

     the concatenation of all the lists

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `xss.flatten' instead of` List.flatten(xss)'

3. #### def forall2[A, B](xs: List[A], ys: List[B])(f: (A, B) ⇒ Boolean): Boolean

   Tests whether the given predicate `p` holds for all corresponding elements of the argument lists.

   Tests whether the given predicate `p` holds for all corresponding elements of the argument lists.

   returns

     `(p(a0,b0) && ... && p(an,bn))]` if the lists are `[a0, ..., ak]`; `[b0, ..., bl]` and `n = min(k,l)`

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `(xs, ys).zipped.forall(f)' instead of` List.forall2(xs, ys)(f)'

4. #### def fromArray[A](arr: Array[A], start: Int, len: Int): List[A]

   Converts a range of an array into a list.

   Converts a range of an array into a list.

   arr

     the array to convert

   start

     the first index to consider

   len

     the length of the range to convert

   returns

     a list that contains the same elements than `arr` in the same order

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `array.view(start, end).toList' instead of` List.fromArray(array, start, end)'

5. #### def fromArray[A](arr: Array[A]): List[A]

   Converts an array into a list.

   Converts an array into a list.

   arr

     the array to convert

   returns

     a list that contains the same elements than `arr` in the same order

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `array.toList' instead of` List.fromArray(array)'

6. #### def fromIterator[A](it: Iterator[A]): List[A]

   Converts an iterator to a list.

   Converts an iterator to a list.

   it

     the iterator to convert

   returns

     a list that contains the elements returned by successive calls to `it.next`

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `it.toList' instead of` List.toList(it)'

7. #### def fromString(str: String, separator: Char): List[String]

   Parses a string which contains substrings separated by a separator character and returns a list of all substrings.

   Parses a string which contains substrings separated by a separator character and returns a list of all substrings.

   str

     the string to parse

   separator

     the separator character

   returns

     the list of substrings

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `str.split(separator).toList' instead of` List.fromString(str, separator)'

8. #### def lefts[A, B](es: Iterable[Either[A, B]]): List[A]

   Returns the `Left` values in the given `Iterable` of `Either`s.

   Returns the `Left` values in the given `Iterable` of `Either`s.

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `xs collect { case Left(x: A) => x }' instead of` List.lefts(xs)'

9. #### def make[A](n: Int, elem: A): List[A]

   Create a list containing several copies of an element.

   Create a list containing several copies of an element.

   n

     the length of the resulting list

   elem

     the element composing the resulting list

   returns

     a list composed of n elements all equal to elem

   Annotations
     @deprecated
   Deprecated

     (Since version 2.8.0) use `fill' instead`

10. #### def map2[A, B, C](xs: List[A], ys: List[B])(f: (A, B) ⇒ C): List[C]

    Returns the list resulting from applying the given function `f` to corresponding elements of the argument lists.

    Returns the list resulting from applying the given function `f` to corresponding elements of the argument lists.

    f

      function to apply to each pair of elements.

    returns

      `[f(a0,b0), ..., f(an,bn)]` if the lists are `[a0, ..., ak]`, `[b0, ..., bl]` and `n = min(k,l)`

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `(xs, ys).zipped.map(f)' instead of` List.map2(xs, ys)(f)'

11. #### def map3[A, B, C, D](xs: List[A], ys: List[B], zs: List[C])(f: (A, B, C) ⇒ D): List[D]

    Returns the list resulting from applying the given function `f` to corresponding elements of the argument lists.

    Returns the list resulting from applying the given function `f` to corresponding elements of the argument lists.

    f

      function to apply to each pair of elements.

    returns

      `[f(a0,b0,c0), ..., f(an,bn,cn)]` if the lists are `[a0, ..., ak]`, `[b0, ..., bl]`, `[c0, ..., cm]` and `n = min(k,l,m)`

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `(xs, ys, zs).zipped.map(f)' instead of` List.map3(xs, ys, zs)(f)'

12. #### def mapConserve[A <: AnyRef](xs: List[A])(f: (A) ⇒ A): List[A]

    Like xs map f, but returns `xs` unchanged if function `f` maps all elements to themselves.

    Like xs map f, but returns `xs` unchanged if function `f` maps all elements to themselves.

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `xs.mapConserve(f)' instead of` List.mapConserve(xs, f)'

13. #### def range(start: Int, end: Int, step: (Int) ⇒ Int): List[Int]

    Create a sorted list with element values `vn+1 = step(vn)` where `v0 = start` and elements are in the range between `start` (inclusive) and `end` (exclusive)

    Create a sorted list with element values `vn+1 = step(vn)` where `v0 = start` and elements are in the range between `start` (inclusive) and `end` (exclusive)

    start

      the start value of the list

    end

      the end value of the list

    step

      the increment function of the list, which given `vn`, computes `vn+1`. Must be monotonically increasing or decreasing.

    returns

      the sorted list of all integers in range [start;end).

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `iterate' instead`

14. #### def rights[A, B](es: Iterable[Either[A, B]]): List[B]

    Returns the `Right` values in the given`Iterable` of `Either`s.

    Returns the `Right` values in the given`Iterable` of `Either`s.

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `xs collect { case Right(x: B) => x }' instead of` List.rights(xs)'

15. #### def separate[A, B](es: Iterable[Either[A, B]]): (List[A], List[B])

    Transforms an Iterable of Eithers into a pair of lists.

    Transforms an Iterable of Eithers into a pair of lists.

    returns

      a pair of lists.

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `(for (Left(x) <- es) yield x, for (Right(x) <- es) yield x)` instead

16. #### def toString(xs: List[Char]): String

    Returns the given list of characters as a string.

    Returns the given list of characters as a string.

    xs

      the list to convert.

    returns

      the list in form of a string.

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `xs.mkString' instead of` List.toString(xs)'

17. #### def transpose[A](xss: List[List[A]]): List[List[A]]

    Transposes a list of lists.

    Transposes a list of lists. pre: All element lists have the same length.

    xss

      the list of lists

    returns

      the transposed list of lists

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `xss.transpose' instead of` List.transpose(xss)'

18. #### def unzip[A, B](xs: Iterable[(A, B)]): (List[A], List[B])

    Transforms an iterable of pairs into a pair of lists.

    Transforms an iterable of pairs into a pair of lists.

    xs

      the iterable of pairs to unzip

    returns

      a pair of lists.

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `xs.unzip' instead of` List.unzip(xs)'

19. #### def unzip[A, B](xs: List[(A, B)]): (List[A], List[B])

    Transforms a list of pairs into a pair of lists.

    Transforms a list of pairs into a pair of lists.

    xs

      the list of pairs to unzip

    returns

      a pair of lists.

    Annotations
      @deprecated
    Deprecated

      (Since version 2.8.0) use `xs.unzip' instead of` List.unzip(xs)'

### Inherited from SeqFactory[List]

### Inherited from TraversableFactory[List]

### Inherited from GenericSeqCompanion[List]

### Inherited from GenSeqFactory[List]

### Inherited from GenTraversableFactory[List]

### Inherited from GenericCompanion[List]

### Inherited from AnyRef

### Inherited from Any