Alias for append
Alias for append
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3) scala> nel :+ 4 res0: cats.data.NonEmptyList[Int] = NonEmptyList(1, 2, 3, 4)
Alias for concatNel
Alias for concatNel
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3) scala> nel ::: NonEmptyList.of(4, 5) res0: cats.data.NonEmptyList[Int] = NonEmptyList(1, 2, 3, 4, 5)
Builds a new List
by applying a partial function to
all the elements from this NonEmptyList
on which the function is defined
Builds a new List
by applying a partial function to
all the elements from this NonEmptyList
on which the function is defined
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3, 4, 5) scala> nel.collect { case v if v < 3 => v } res0: scala.collection.immutable.List[Int] = List(1, 2) scala> nel.collect { | case v if v % 2 == 0 => "even" | case _ => "odd" | } res1: scala.collection.immutable.List[String] = List(odd, even, odd, even, odd)
Append another NonEmptyList
Remove duplicates.
Remove duplicates. Duplicates are checked using Order[_]
instance.
Check whether at least one element satisfies the predicate
Remove elements not matching the predicate
Remove elements not matching the predicate
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3, 4, 5) scala> nel.filter(_ < 3) res0: scala.collection.immutable.List[Int] = List(1, 2)
Remove elements matching the predicate
Remove elements matching the predicate
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3, 4, 5) scala> nel.filterNot(_ < 3) res0: scala.collection.immutable.List[Int] = List(3, 4, 5)
Find the first element matching the predicate, if one exists
Left-associative fold on the structure using f.
Right-associative fold on the structure using f.
Check whether all elements satisfy the predicate
Groups elements inside this NonEmptyList
according to the Order
of the keys produced by the given mapping function.
Groups elements inside this NonEmptyList
according to the Order
of the keys produced by the given mapping function.
scala> import scala.collection.immutable.SortedMap scala> import cats.data.NonEmptyList scala> import cats.instances.boolean._ scala> val nel = NonEmptyList.of(12, -2, 3, -5) scala> nel.groupBy(_ >= 0) res0: SortedMap[Boolean, cats.data.NonEmptyList[Int]] = Map(false -> NonEmptyList(-2, -5), true -> NonEmptyList(12, 3))
Groups elements inside this NonEmptyList
according to the Order
of the keys produced by the given mapping function.
Groups elements inside this NonEmptyList
according to the Order
of the keys produced by the given mapping function.
scala> import cats.data._ scala> import cats.instances.boolean._ scala> val nel = NonEmptyList.of(12, -2, 3, -5) scala> nel.groupByNem(_ >= 0) res0: NonEmptyMap[Boolean, NonEmptyList[Int]] = Map(false -> NonEmptyList(-2, -5), true -> NonEmptyList(12, 3))
Selects all elements except the last
Selects all elements except the last
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3, 4, 5) scala> nel.init res0: scala.collection.immutable.List[Int] = List(1, 2, 3, 4)
Selects the last element
Selects the last element
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3, 4, 5) scala> nel.last res0: Int = 5
Applies f to all the elements of the structure
Reduce using the Semigroup
of AA
.
Left-associative reduce using f.
Reverse this NonEmptyList
.
Reverse this NonEmptyList
.
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3) scala> nel.reverse res0: cats.data.NonEmptyList[Int] = NonEmptyList(3, 2, 1)
The size of this NonEmptyList
The size of this NonEmptyList
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3, 4, 5) scala> nel.size res0: Int = 5
Sorts this NonEmptyList
according to an Order
on transformed B
from A
Sorts this NonEmptyList
according to an Order
on transformed B
from A
scala> import cats.data.NonEmptyList scala> import cats.instances.int._ scala> val nel = NonEmptyList.of(('a', 4), ('z', 1), ('e', 22)) scala> nel.sortBy(_._2) res0: cats.data.NonEmptyList[(Char, Int)] = NonEmptyList((z,1), (a,4), (e,22))
Sorts this NonEmptyList
according to an Order
Sorts this NonEmptyList
according to an Order
scala> import cats.data.NonEmptyList scala> import cats.instances.int._ scala> val nel = NonEmptyList.of(12, 4, 3, 9) scala> nel.sorted res0: cats.data.NonEmptyList[Int] = NonEmptyList(3, 4, 9, 12)
Return the head and tail into a single list
Return the head and tail into a single list
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of(1, 2, 3, 4, 5) scala> nel.toList res0: scala.collection.immutable.List[Int] = List(1, 2, 3, 4, 5)
Zips this NonEmptyList
with another NonEmptyList
and applies a function for each pair of elements.
Zips this NonEmptyList
with another NonEmptyList
and applies a function for each pair of elements.
scala> import cats.data.NonEmptyList scala> val as = NonEmptyList.of(1, 2, 3) scala> val bs = NonEmptyList.of("A", "B", "C") scala> as.zipWith(bs)(_ + _) res0: cats.data.NonEmptyList[String] = NonEmptyList(1A, 2B, 3C)
Zips each element of this NonEmptyList
with its index.
Zips each element of this NonEmptyList
with its index.
scala> import cats.data.NonEmptyList scala> val nel = NonEmptyList.of("a", "b", "c") scala> nel.zipWithIndex res0: cats.data.NonEmptyList[(String, Int)] = NonEmptyList((a,0), (b,1), (c,2))
(Since version 1.0.0-RC1) Use concatNel
A data type which represents a non empty list of A, with single element (head) and optional structure (tail).