sealed trait NonEmptyList[+A] extends AnyRef
A NonEmptyList[A] is a list of one or more values of type A. Unlike a
List, a NonEmptyList is guaranteed to contain at least one element.
This additional structure allows some operations to be defined on
NonEmptyList that are not safe on List, such as head and reduceAll.
For interoperability with Scala's collection library an implicit conversion
is provided from NonEmptyList to the :: case of List. Operations that
cannot preserve the guarantee that the resulting collection must have at
least one element will return a List instead.
- Self Type
- NonEmptyList[A]
- Alphabetic
- By Inheritance
- NonEmptyList
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def head: A
Returns the head of this
NonEmptyList.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ++[A1 >: A](that: NonEmptyList[A1]): NonEmptyList[A1]
Concatenates this
NonEmptyListwith the specifiedNonEmptyList. - final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def contains[A1 >: A](a: A1)(implicit A: Equal[A1]): Boolean
Returns whether this
NonEmptyListcontains the specified element. - final def corresponds[B](that: NonEmptyList[B])(f: (A, B) => Boolean): Boolean
Determines whether this
NonEmptyListand the specifiedNonEmptyListhave the same length and every pair of corresponding elements of thisNonEmptyListand the specifiedNonEmptyListsatisfy the specified predicate.Determines whether this
NonEmptyListand the specifiedNonEmptyListhave the same length and every pair of corresponding elements of thisNonEmptyListand the specifiedNonEmptyListsatisfy the specified predicate.- Annotations
- @tailrec()
- final def count(f: (A) => Boolean): Int
Returns the number of elements in this
NonEmptyListthat satisfy the specified predicate. - final def distinct: NonEmptyList[A]
Removes duplicate elements from this
NonEmptyList. - final def drop(n: Int): List[A]
Drops the first
nelements from thisNonEmptyListreturning aList.Drops the first
nelements from thisNonEmptyListreturning aList.- Annotations
- @tailrec()
- final def dropRight(n: Int): List[A]
Drops the last
nelements from thisNonEmptyListreturning aList. - final def dropWhile(f: (A) => Boolean): List[A]
Drops elements from the start of this
NonEmptyListthat satisfy the specified predicate returning aList.Drops elements from the start of this
NonEmptyListthat satisfy the specified predicate returning aList.- Annotations
- @tailrec()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def equals(that: Any): Boolean
Returns whether this
NonEmptyListand the specifiedNonEmptyListare equal to each other.Returns whether this
NonEmptyListand the specifiedNonEmptyListare equal to each other.- Definition Classes
- NonEmptyList → AnyRef → Any
- final def exists(f: (A) => Boolean): Boolean
Returns whether an element exists in this
NonEmptyListsatisfying the specified predicate.Returns whether an element exists in this
NonEmptyListsatisfying the specified predicate.- Annotations
- @tailrec()
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def find(f: (A) => Boolean): Option[A]
Returns the first element in this
NonEmptyListsatisfying the specified predicate orNoneotherwise.Returns the first element in this
NonEmptyListsatisfying the specified predicate orNoneotherwise.- Annotations
- @tailrec()
- final def flatMap[B](f: (A) => NonEmptyList[B]): NonEmptyList[B]
Transforms each element of this
NonEmptyListto aNonEmptyListand combines them into a singleNonEmptyList. - final def flatten[B](implicit ev: <:<[A, NonEmptyList[B]]): NonEmptyList[B]
Flattens a
NonEmptyListofNonEmptyListvalues into a singleNonEmptyList. - final def foldLeft[B](z: B)(f: (B, A) => B): B
Folds over the elements of this
NonEmptyListfrom left to right using the specified initial value and combining functionFolds over the elements of this
NonEmptyListfrom left to right using the specified initial value and combining function- Annotations
- @tailrec()
- final def foldRight[B](z: B)(op: (A, B) => B): B
Folds over the elements of this
NonEmptyListfrom right to left using the specified initial value and combining function. - final def forEach[F[+_], B](f: (A) => F[B])(implicit arg0: AssociativeBoth[F], arg1: Covariant[F]): F[NonEmptyList[B]]
Transforms each element of this
NonEmptyListwith the specified effectual function. - final def forall(f: (A) => Boolean): Boolean
Returns whether all elements of this
NonEmptyListsatisfy the specified predicate.Returns whether all elements of this
NonEmptyListsatisfy the specified predicate.- Annotations
- @tailrec()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def hashCode(): Int
Returns the hashCode of this
NonEmptyList.Returns the hashCode of this
NonEmptyList.- Definition Classes
- NonEmptyList → AnyRef → Any
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def length: Int
Returns the length of this
NonEmptyList. - final def map[B](f: (A) => B): NonEmptyList[B]
Transforms the elements of this
NonEmptyListwith the specified function. - final def max(implicit A: Ord[A]): A
Returns the maximum element in this
NonEmptyList. - final def maxBy[B](f: (A) => B)(implicit B: Ord[B]): A
Returns the maximum element in this
NonEmptyListusing the specified function to map values of typeAto values of typeBthat an ordering is defined on. - final def min(implicit A: Ord[A]): A
Returns the minimum element in this
NonEmptyList. - final def minBy[B](f: (A) => B)(implicit B: Ord[B]): A
Returns the minimum element in this
NonEmptyListusing the specified function to map values of typeAto values of typeBthat an ordering is defined on. - final def mkString(start: String, sep: String, end: String): String
Renders the elements of this
NonEmptyListas aStringusing the specified separator and start and end values. - final def mkString(sep: String): String
Renders the elements of this
NonEmptyListas aStringusing the specified separator. - final def mkString: String
Renders the elements of this
NonEmptyListas aString. - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def peel: (A, List[A])
Decomposes the
NonEmptyListinto an element and a (possibly empty)List - final def peelNonEmpty: (A, Option[NonEmptyList[A]])
Returns an element of this
NonEmptyListand the remainder orNone, if the remainder is empty. - final def product[A1 >: A](implicit A: Associative[Prod[A1]]): A1
Returns the product of the elements of this
NonEmptyList. - final def reduce[A1 >: A](implicit A: Associative[A1]): A1
Reduces the elements of this
NonEmptyListusing the specified associative operator. - final def reduceLeft[A1 >: A](f: (A1, A1) => A1): A1
Reduces the elements of this
NonEmptyListfrom left to right using the specified function. - final def reduceMap[B](f: (A) => B)(implicit B: Associative[B]): B
Maps each element of this
NonEmptyListto a typeBthat has an associative operation then combines them all with the associative operation. - final def reduceMapLeft[B](map: (A) => B)(reduce: (B, A) => B): B
Reduces the elements of this
NonEmptyListfrom left to right using the functionmapto transform the first value to the typeBand then the functionreduceAllto combine theBvalue with each otherAvalue. - final def reduceMapRight[B](map: (A) => B)(reduce: (A, B) => B): B
Reduces the elements of this
NonEmptyListfrom right to left using the functionmapto transform the first value to the typeBand then the functionreduceAllto combine theBvalue with each otherAvalue. - final def reduceRight[A1 >: A](f: (A1, A1) => A1): A1
Reduces the elements of this
NonEmptyListfrom right to left using the specified function. - final def reverse: NonEmptyList[A]
Reverses the order of elements in this
NonEmptyList. - final def sum[A1 >: A](implicit A: Associative[Sum[A1]]): A1
Returns the sum of the elements of this
NonEmptyList. - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def tailNonEmpty: Option[NonEmptyList[A]]
Returns the tail of this
NonEmptyListif it exists orNoneotherwise. - final def tails: NonEmptyList[NonEmptyList[A]]
Returns a new
NonEmptyListcomposed of thisNonEmptyListfollowed by each of its tails, ending with a singletonNonEmptyList. - final def take(n: Int): List[A]
Takes the first
nelements from thisNonEmptyListreturning aList. - final def takeRight(n: Int): List[A]
Takes the last
nelements from thisNonEmptyListreturning aList. - final def takeWhile(f: (A) => Boolean): List[A]
Takes elements from the start of this
NonEmptyListthat satisfy the specified predicate returning aList. - final def toCons[A1 >: A]: ::[A1]
Converts this
NonEmptyListto the::case of aList. - final def toNonEmptyChunk: NonEmptyChunk[A]
Converts this
NonEmptyListto aNonEmptyChunk. - final def toString(): String
Renders this
NonEmptyListas aString.Renders this
NonEmptyListas aString.- Definition Classes
- NonEmptyList → AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def zip[B](that: NonEmptyList[B]): NonEmptyList[(A, B)]
Zips this
NonEmptyListtogether with the specifiedNonEmptyList, returning a newNonEmptyListwith a length equal to the minimum of the two and elements combined pairwise. - final def zipWith[B, C](that: NonEmptyList[B])(f: (A, B) => C): NonEmptyList[C]
Zips this
NonEmptyListtogether with the specifiedNonEmptyList, returning a newNonEmptyListwith a length equal to the minimum of the two and elements combined pairwise using the specified function. - final def zipWithIndex: NonEmptyList[(A, Int)]
Annotates each element of this
NonEmptyListwith its index.