NonEmptyChainOps
Value members
Concrete methods
Alias for prependChain
Alias for prependChain
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(4, 5, 6)
scala> Chain(1, 2, 3) ++: nec
res0: cats.data.NonEmptyChain[Int] = Chain(1, 2, 3, 4, 5, 6)
Alias for appendChain
Alias for appendChain
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(1, 2, 4, 5)
scala> nec :++ Chain(3, 6, 9)
res0: cats.data.NonEmptyChain[Int] = Chain(1, 2, 4, 5, 3, 6, 9)
Returns a new Chain consisting of this followed by a
. O(1) runtime.
Returns a new Chain consisting of this followed by a
. O(1) runtime.
Returns a new Chain
containing all elements where the result of pf
is final defined.
Returns a new Chain
containing all elements where the result of pf
is final defined.
scala> import cats.data.NonEmptyChain
scala> import cats.implicits._
scala> val nec = NonEmptyChain(4, 5, 6).map(n => if (n % 2 == 0) Some(n) else None)
scala> nec.collect { case Some(n) => n }
res0: cats.data.Chain[Int] = Chain(4, 6)
Finds the first element of this NonEmptyChain
for which the given partial
function is defined, and applies the partial function to it.
Finds the first element of this NonEmptyChain
for which the given partial
function is defined, and applies the partial function to it.
Like collectFirst
from scala.collection.Traversable
but takes A => Option[B]
instead of PartialFunction
s.
Like collectFirst
from scala.collection.Traversable
but takes A => Option[B]
instead of PartialFunction
s.
Concatenates this with c
in O(1) runtime.
Concatenates this with c
in O(1) runtime.
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(1, 2, 4, 5)
scala> nec ++ NonEmptyChain(7, 8)
res0: cats.data.NonEmptyChain[Int] = Chain(1, 2, 4, 5, 7, 8)
Tests if some element is contained in this chain.
Tests if some element is contained in this chain.
scala> import cats.data.NonEmptyChain
scala> import cats.implicits._
scala> val nec = NonEmptyChain(4, 5, 6)
scala> nec.contains(5)
res0: Boolean = true
Yields to Some(a, Chain[A]) with a
removed where f
holds for the first time,
otherwise yields None, if a
was not found
Traverses only until a
is found.
Yields to Some(a, Chain[A]) with a
removed where f
holds for the first time,
otherwise yields None, if a
was not found
Traverses only until a
is found.
Remove duplicates. Duplicates are checked using Order[_]
instance.
Remove duplicates. Duplicates are checked using Order[_]
instance.
Tests whether a predicate holds for at least one element of this chain.
Tests whether a predicate holds for at least one element of this chain.
Filters all elements of this chain that do not satisfy the given predicate.
Filters all elements of this chain that do not satisfy the given predicate.
Filters all elements of this chain that satisfy the given predicate.
Filters all elements of this chain that satisfy the given predicate.
Returns the first value that matches the given predicate.
Returns the first value that matches the given predicate.
Applies the supplied function to each element and returns a new NonEmptyChain from the concatenated results
Applies the supplied function to each element and returns a new NonEmptyChain from the concatenated results
Tests whether a predicate holds for all elements of this chain.
Tests whether a predicate holds for all elements of this chain.
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given mapping function.
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given mapping function.
scala> import cats.data.{NonEmptyChain, NonEmptyMap}
scala> import cats.implicits._
scala> val nec = NonEmptyChain(12, -2, 3, -5)
scala> val expectedResult = NonEmptyMap.of(false -> NonEmptyChain(-2, -5), true -> NonEmptyChain(12, 3))
scala> val result = nec.groupBy(_ >= 0)
scala> result === expectedResult
res0: Boolean = true
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given mapping function.
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given mapping function.
scala> import cats.data.{NonEmptyChain, NonEmptyMap}
scala> import cats.implicits._
scala> val nec = NonEmptyChain(12, -2, 3, -5)
scala> val expectedResult = NonEmptyMap.of(false -> NonEmptyChain(-2, -5), true -> NonEmptyChain(12, 3))
scala> val result = nec.groupByNem(_ >= 0)
scala> result === expectedResult
res0: Boolean = true
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
And each element in a group is transformed into a value of type B
using the mapping function.
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
And each element in a group is transformed into a value of type B
using the mapping function.
scala> import cats.data.{NonEmptyChain, NonEmptyMap}
scala> import cats.implicits._
scala> val nec = NonEmptyChain(12, -2, 3, -5)
scala> val expectedResult = NonEmptyMap.of(false -> NonEmptyChain("-2", "-5"), true -> NonEmptyChain("12", "3"))
scala> val result = nec.groupMap(_ >= 0)(_.toString)
scala> result === expectedResult
res0: Boolean = true
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
And each element in a group is transformed into a value of type B
using the mapping function.
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
And each element in a group is transformed into a value of type B
using the mapping function.
scala> import cats.data.{NonEmptyChain, NonEmptyMap}
scala> import cats.implicits._
scala> val nec = NonEmptyChain(12, -2, 3, -5)
scala> val expectedResult = NonEmptyMap.of(false -> NonEmptyChain("-2", "-5"), true -> NonEmptyChain("12", "3"))
scala> val result = nec.groupMapNem(_ >= 0)(_.toString)
scala> result === expectedResult
res0: Boolean = true
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
Then each element in a group is transformed into a value of type B
using the mapping function.
And finally they are all reduced into a single value
using their Semigroup
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
Then each element in a group is transformed into a value of type B
using the mapping function.
And finally they are all reduced into a single value
using their Semigroup
scala> import cats.data.{NonEmptyChain, NonEmptyMap}
scala> import cats.implicits._
scala> val nec = NonEmptyChain("Hello", "World", "Goodbye", "World")
scala> val expectedResult = NonEmptyMap.of("goodbye" -> 1, "hello" -> 1, "world" -> 2)
scala> val result = nec.groupMapReduce(_.trim.toLowerCase)(_ => 1)
scala> result === expectedResult
res0: Boolean = true
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
Then each element in a group is transformed into a value of type B
using the mapping function.
And finally they are all reduced into a single value
using their Semigroup
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
Then each element in a group is transformed into a value of type B
using the mapping function.
And finally they are all reduced into a single value
using their Semigroup
scala> import cats.data.{NonEmptyChain, NonEmptyMap}
scala> import cats.implicits._
scala> val nec = NonEmptyChain("Hello", "World", "Goodbye", "World")
scala> val expectedResult = NonEmptyMap.of("goodbye" -> 1, "hello" -> 1, "world" -> 2)
scala> val result = nec.groupMapReduceNem(_.trim.toLowerCase)(_ => 1)
scala> result === expectedResult
res0: Boolean = true
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
Then each element in a group is transformed into a value of type B
using the mapping function.
And finally they are all reduced into a single value
using the provided combine function.
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
Then each element in a group is transformed into a value of type B
using the mapping function.
And finally they are all reduced into a single value
using the provided combine function.
scala> import cats.data.{NonEmptyChain, NonEmptyMap}
scala> import cats.implicits._
scala> val nec = NonEmptyChain("Hello", "World", "Goodbye", "World")
scala> val expectedResult = NonEmptyMap.of("goodbye" -> 1, "hello" -> 1, "world" -> 2)
scala> val result = nec.groupMapReduceWith(_.trim.toLowerCase)(_ => 1)(_ + _)
scala> result === expectedResult
res0: Boolean = true
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
Then each element in a group is transformed into a value of type B
using the mapping function.
And finally they are all reduced into a single value
using the provided combine function.
Groups elements inside this NonEmptyChain
according to the Order
of the keys produced by the given key function.
Then each element in a group is transformed into a value of type B
using the mapping function.
And finally they are all reduced into a single value
using the provided combine function.
scala> import cats.data.{NonEmptyChain, NonEmptyMap}
scala> import cats.implicits._
scala> val nec = NonEmptyChain("Hello", "World", "Goodbye", "World")
scala> val expectedResult = NonEmptyMap.of("goodbye" -> 1, "hello" -> 1, "world" -> 2)
scala> val result = nec.groupMapReduceWithNem(_.trim.toLowerCase)(_ => 1)(_ + _)
scala> result === expectedResult
res0: Boolean = true
Partitions elements in fixed size NonEmptyChain
s.
Partitions elements in fixed size NonEmptyChain
s.
scala> import cats.data.NonEmptyChain
scala> import cats.implicits._
scala> val nel = NonEmptyChain.of(12, -2, 3, -5)
scala> val expectedResult = List(NonEmptyChain.of(12, -2), NonEmptyChain.of(3, -5))
scala> val result = nel.grouped(2)
scala> result.toList === expectedResult
res0: Boolean = true
Returns the first element of this NonEmptyChain. Amortized O(1).
Returns the first element of this NonEmptyChain. Amortized O(1).
Returns all but the last element of this NonEmptyChain. Amortized O(1).
Returns all but the last element of this NonEmptyChain. Amortized O(1).
Returns the init and last of this NonEmptyChain. Amortized O(1).
Returns the init and last of this NonEmptyChain. Amortized O(1).
Returns the last element of this NonEmptyChain. Amortized O(1).
Returns the last element of this NonEmptyChain. Amortized O(1).
Applies the supplied function to each element and returns a new NonEmptyChain.
Applies the supplied function to each element and returns a new NonEmptyChain.
Returns a new NonEmptyChain consisting of a
followed by this. O(1) runtime.
Returns a new NonEmptyChain consisting of a
followed by this. O(1) runtime.
Left-associative reduce using f.
Left-associative reduce using f.
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(4, 5, 6)
scala> nec.reduceLeft(_ + _)
res0: Int = 15
Apply f
to the "initial element" of this chain and lazily combine it
with every other value using the given function g
.
Apply f
to the "initial element" of this chain and lazily combine it
with every other value using the given function g
.
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(4, 5, 6)
scala> nec.reduceLeftTo(_.toString)((acc, cur) => acc + cur.toString)
res0: String = 456
Right-associative reduce using f.
Right-associative reduce using f.
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(4, 5, 6)
scala> nec.reduceRight(_ + _)
res0: Int = 15
Apply f
to the "initial element" of this chain and lazily combine it
with every other value using the given function g
.
Apply f
to the "initial element" of this chain and lazily combine it
with every other value using the given function g
.
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(4, 5, 6)
scala> nec.reduceRightTo(_.toString)((cur, acc) => acc + cur.toString)
res0: String = 654
Returns all but the first element of this NonEmptyChain. Amortized O(1).
Returns all but the first element of this NonEmptyChain. Amortized O(1).
Converts this chain to a NonEmptyList
.
Converts this chain to a NonEmptyList
.
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(1, 2, 3, 4, 5)
scala> nec.toNonEmptyList
res0: cats.data.NonEmptyList[Int] = NonEmptyList(1, 2, 3, 4, 5)
Converts this chain to a NonEmptyVector
.
Converts this chain to a NonEmptyVector
.
scala> import cats.data.NonEmptyChain
scala> val nec = NonEmptyChain(1, 2, 3, 4, 5)
scala> nec.toNonEmptyVector
res0: cats.data.NonEmptyVector[Int] = NonEmptyVector(1, 2, 3, 4, 5)
Returns the head and tail of this NonEmptyChain. Amortized O(1).
Returns the head and tail of this NonEmptyChain. Amortized O(1).
Zips this NonEmptyChain
with another NonEmptyChain
and applies a function for each pair of elements.
Zips this NonEmptyChain
with another NonEmptyChain
and applies a function for each pair of elements.
scala> import cats.data.NonEmptyChain
scala> val as = NonEmptyChain(1, 2, 3)
scala> val bs = NonEmptyChain("A", "B", "C")
scala> as.zipWith(bs)(_.toString + _)
res0: cats.data.NonEmptyChain[String] = Chain(1A, 2B, 3C)