This class implements priority queues using a heap. To prioritize elements of type A there must be an implicit Ordering[A] available at creation.
If multiple elements have the same priority in the ordering of this PriorityQueue, no guarantees are made regarding the order in which elements are returned by dequeue or dequeueAll. In particular, that means this class does not guarantee first in first out behaviour that may be incorrectly inferred from the Queue part of the name of this class.
Only the dequeue and dequeueAll methods will return elements in priority order (while removing elements from the heap). Standard collection methods including drop, iterator, and toString will remove or traverse the heap in whichever order seems most convenient.
Therefore, printing a PriorityQueue will not reveal the priority order of the elements, though the highest-priority element will be printed first. To print the elements in order, one must duplicate the PriorityQueue (by using clone, for instance) and then dequeue them:
| Type parameters |
|
|---|---|
| Value parameters |
|
| Example |
val pq = collection.mutable.PriorityQueue(1, 2, 5, 3, 7) println(pq) // elements probably not in order println(pq.clone.dequeueAll) // prints ArraySeq(7, 5, 3, 2, 1) |
| Supertypes | 18 types |
Adds all elements provided by a IterableOnce object into the priority queue.
| Value parameters |
|
|---|---|
| Returns | a new priority queue containing elements of both |
Adds all elements produced by an IterableOnce to this priority queue.
| Value parameters |
|
|---|---|
| Returns | the priority queue itself. |
| Definition Classes | Growable |
Inserts a single element into the priority queue.
| Value parameters |
|
|---|---|
| Returns | this priority queue. |
Removes all elements from the queue. After this operation is completed, the queue will be empty.
This method clones the priority queue.
| Returns | a priority queue with the same elements. |
|---|---|
| Definition Classes | Cloneable -> Object |
Copy elements to an array, returning the number of elements written.
Fills the given array xs starting at index start with at most len elements of this priority queue.
Copying will stop once either all the elements of this priority queue have been copied, or the end of the array is reached, or len elements have been copied.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the number of elements written to the array |
| Note | Reuse: After calling this method, one should discard the iterator it was called on. Using it is undefined and subject to change. |
| Definition Classes | IterableOnceOps |
Returns the element with the highest priority in the queue, and removes this element from the queue.
| Returns | the element with the highest priority. |
|---|
The empty iterable of the same type as this iterable
| Returns | an empty iterable of type |
|---|---|
| Definition Classes | IterableFactoryDefaults -> IterableOps |
Adds all elements to the queue.
| Value parameters |
|
|---|
Returns the element with the highest priority in the queue, or throws an error if there is no element contained in the queue.
| Returns | the element with the highest priority. |
|---|---|
| Definition Classes | IterableOps |
Tests whether the priority queue is empty.
Note: Implementations in subclasses that are not repeatedly traversable must take care not to consume any elements when isEmpty is called.
| Returns |
|
|---|---|
| Definition Classes | IterableOnceOps |
Returns an iterator which yields all the elements.
Note: The order of elements returned is undefined. If you want to traverse the elements in priority queue order, use clone().dequeueAll.iterator.
| Returns | an iterator over all the elements. |
|---|---|
| Definition Classes | IterableOnce |
| Returns | The number of elements in the collection under construction, if it can be cheaply computed, -1 otherwise. The default implementation always returns -1. |
|---|---|
| Definition Classes | Growable -> IterableOnce |
Result collection consisting of all elements appended so far.
Returns the reverse of this priority queue. The new priority queue has the same elements as the original, but the opposite ordering.
For example, the element with the highest priority in pq has the lowest priority in pq.reverse, and vice versa.
Ties are handled arbitrarily. Elements with equal priority may or may not be reversed with respect to each other.
| Returns | the reversed priority queue. |
|---|
Returns an iterator which yields all the elements in the reverse order than that returned by the method iterator.
Note: The order of elements returned is undefined.
| Returns | an iterator over all elements sorted in descending order. |
|---|
The size of this priority queue.
| Returns | the number of elements in this priority queue. |
|---|---|
| Definition Classes | IterableOnceOps |
Converts this priority queue to a list.
Note: the order of elements is undefined.
| Returns | a list containing all elements of this priority queue. |
|---|---|
| Definition Classes | IterableOnceOps |
Returns a regular queue containing the same elements.
Note: the order of elements is undefined.
Returns a textual representation of a queue as a string.
| Returns | the string representation of this queue. |
|---|---|
| Definition Classes | Iterable -> Any |
Alias for concat
| Inherited from | IterableOps |
|---|
Alias for addAll
| Inherited from | Growable |
|---|
Alias for addOne
| Inherited from | Growable |
|---|
Appends all elements of this collection to a string builder. The written text consists of the string representations (w.r.t. the method toString) of all elements of this collection without any separator string.
Example:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
| Value parameters |
|
|---|---|
| Returns | the string builder |
| Inherited from | IterableOnceOps |
Appends all elements of this collection 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 collection, separated by the string sep.
Example:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Value parameters |
|
|---|---|
| Returns | the string builder |
| Inherited from | IterableOnceOps |
Appends all elements of this collection 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 collection are separated by the string sep.
Example:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
| Value parameters |
|
|---|---|
| Returns | the string builder |
| Inherited from | IterableOnceOps |
Builds a new iterable collection by applying a partial function to all elements of this iterable collection on which the function is defined.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a new iterable collection resulting from applying the given partial function |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Finds the first element of the collection for which the given partial function is defined, and applies the partial function to it.
Note: may not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | an option value containing pf applied to the first value for which it is defined, or |
| Example |
|
| Inherited from | IterableOnceOps |
Returns a new iterable collection containing the elements from the left hand operand followed by the elements from the right hand operand. The element type of the iterable collection is the most specific superclass encompassing the element types of the two operands.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a new iterable collection which contains all elements of this iterable collection followed by all elements of |
| Inherited from | IterableOps |
Copy elements to an array, returning the number of elements written.
Fills the given array xs starting at index start with values of this collection.
Copying will stop once either all the elements of this collection have been copied, or the end of the array is reached.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the number of elements written to the array |
| Note | Reuse: After calling this method, one should discard the iterator it was called on. Using it is undefined and subject to change. |
| Inherited from | IterableOnceOps |
Copy elements to an array, returning the number of elements written.
Fills the given array xs starting at index start with values of this collection.
Copying will stop once either all the elements of this collection have been copied, or the end of the array is reached.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the number of elements written to the array |
| Note | Reuse: After calling this method, one should discard the iterator it was called on. Using it is undefined and subject to change. |
| Inherited from | IterableOnceOps |
Tests whether every element of this collection's iterator relates to the corresponding element of another collection by satisfying a test predicate.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns |
|
| Inherited from | IterableOnceOps |
Counts the number of elements in the collection which satisfy a predicate.
Note: will not terminate for infinite-sized collections.
| Value parameters |
|
|---|---|
| Returns | the number of elements satisfying the predicate |
| Inherited from | IterableOnceOps |
Selects all elements except first n ones.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | a iterable collection consisting of all elements of this iterable collection except the first |
| Inherited from | IterableOps |
The rest of the collection without its n last elements. For linear, immutable collections this should avoid making a copy.
Note: Even when applied to a view or a lazy collection it will always force the elements.
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Drops longest prefix of elements that satisfy a predicate.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | the longest suffix of this iterable collection whose first element does not satisfy the predicate |
| Inherited from | IterableOps |
Tests whether a predicate holds for at least one element of this collection.
Note: may not terminate for infinite-sized collections.
| Value parameters |
|
|---|---|
| Returns |
|
| Inherited from | IterableOnceOps |
Selects all elements of this iterable collection which satisfy a predicate.
| Value parameters |
|
|---|---|
| Returns | a new iterable collection consisting of all elements of this iterable collection that satisfy the given predicate |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Selects all elements of this iterable collection which do not satisfy a predicate.
| Value parameters |
|
|---|---|
| Returns | a new iterable collection consisting of all elements of this iterable collection that do not satisfy the given predicate |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Finds the first element of the collection satisfying a predicate, if any.
Note: may not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | an option value containing the first element in the collection that satisfies |
| Inherited from | IterableOnceOps |
Builds a new iterable collection by applying a function to all elements of this iterable collection 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 iterable collection. 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: String) => word.toSeq)
// xs will be 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)
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a new iterable collection resulting from applying the given collection-valued function |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Converts this iterable collection of traversable collections into a iterable collection formed by the elements of these traversable collections.
The resulting collection's type will be guided by the type of iterable collection. For example:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a new iterable collection resulting from concatenating all element iterable collections. |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Folds the elements of this collection using the specified associative binary operator. The default implementation in IterableOnce is equivalent to foldLeft but may be overridden for more efficient traversal orders.
The order in which operations are performed on elements is unspecified and may be nondeterministic.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the result of applying the fold operator |
| Inherited from | IterableOnceOps |
Applies a binary operator to a start value and all elements of this collection, going left to right.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the result of inserting |
| Inherited from | IterableOnceOps |
Applies a binary operator to all elements of this collection and a start value, going right to left.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the result of inserting |
| Inherited from | IterableOnceOps |
Tests whether a predicate holds for all elements of this collection.
Note: may not terminate for infinite-sized collections.
| Value parameters |
|
|---|---|
| Returns |
|
| Inherited from | IterableOnceOps |
Apply f to each element for its side effects Note: [U] parameter needed to help scalac's type inference.
| Inherited from | IterableOnceOps |
|---|
Partitions this iterable collection into a map of iterable collections according to some discriminator function.
Note: Even when applied to a view or a lazy collection it will always force the elements.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns |
A map from keys to iterable collections such that the following invariant holds: (xs groupBy f)(k) = xs filter (x => f(x) == k) That is, every key |
| Inherited from | IterableOps |
Partitions this iterable collection into a map of iterable collections according to a discriminator function key. Each element in a group is transformed into a value of type B using the value function.
It is equivalent to groupBy(key).mapValues(_.map(f)), but more efficient.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Note: Even when applied to a view or a lazy collection it will always force the elements.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Inherited from | IterableOps |
Partitions this iterable collection into a map according to a discriminator function key. All the values that have the same discriminator are then transformed by the f function and then reduced into a single value with the reduce function.
It is equivalent to groupBy(key).mapValues(_.map(f).reduce(reduce)), but more efficient.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Note: Even when applied to a view or a lazy collection it will always force the elements.
| Inherited from | IterableOps |
|---|
Partitions elements in fixed size iterable collections.
| Value parameters |
|
|---|---|
| Returns | An iterator producing iterable collections of size |
| See also | scala.collection.Iterator, method |
| Inherited from | IterableOps |
Optionally selects the first element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Returns | the first element of this iterable collection if it is nonempty, |
|---|---|
| Inherited from | IterableOps |
The initial part of the collection without its last element.
Note: Even when applied to a view or a lazy collection it will always force the elements.
| Inherited from | IterableOps |
|---|
Iterates over the inits of this iterable collection. The first value will be this iterable collection and the final one will be an empty iterable collection, with the intervening values the results of successive applications of init.
Note: Even when applied to a view or a lazy collection it will always force the elements.
| Returns | an iterator over all the inits of this iterable collection |
|---|---|
| Example |
|
| Inherited from | IterableOps |
Tests whether this iterable collection can be repeatedly traversed. Always true for Iterables and false for Iterators unless overridden.
| Returns |
|
|---|---|
| Definition Classes | IterableOps -> IterableOnceOps |
| Inherited from | IterableOps |
The companion object of this iterable collection, providing various factory methods.
| Note | When implementing a custom collection type and refining |
|---|---|
| Definition Classes | Iterable -> Iterable -> IterableOps |
| Inherited from | Iterable |
Selects the last element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Returns | The last element of this iterable collection. |
|---|---|
| Throws |
|
| Inherited from | IterableOps |
Optionally selects the last element.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Returns | the last element of this iterable collection$ if it is nonempty, |
|---|---|
| Inherited from | IterableOps |
Analogous to zip except that the elements in each collection are not consumed until a strict operation is invoked on the returned LazyZip2 decorator.
Calls to lazyZip can be chained to support higher arities (up to 4) without incurring the expense of constructing and deconstructing intermediary tuples.
val xs = List(1, 2, 3) val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d) // res == List(4, 8, 12)
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a decorator |
| Inherited from | Iterable |
Builds a new iterable collection by applying a function to all elements of this iterable collection.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a new iterable collection resulting from applying the given function |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
A builder resulting from this builder my mapping the result using f.
| Inherited from | Builder |
|---|
Finds the largest element.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the largest element of this collection with respect to the ordering |
| Throws |
|
| Inherited from | IterableOnceOps |
Finds the first element which yields the largest value measured by function f.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the first element of this collection with the largest value measured by function f with respect to the ordering |
| Throws |
|
| Inherited from | IterableOnceOps |
Finds the first element which yields the largest value measured by function f.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | an option value containing the first element of this collection with the largest value measured by function f with respect to the ordering |
| Inherited from | IterableOnceOps |
Finds the largest element.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | an option value containing the largest element of this collection with respect to the ordering |
| Inherited from | IterableOnceOps |
Finds the smallest element.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the smallest element of this collection with respect to the ordering |
| Throws |
|
| Inherited from | IterableOnceOps |
Finds the first element which yields the smallest value measured by function f.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the first element of this collection with the smallest value measured by function f with respect to the ordering |
| Throws |
|
| Inherited from | IterableOnceOps |
Finds the first element which yields the smallest value measured by function f.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | an option value containing the first element of this collection with the smallest value measured by function f with respect to the ordering |
| Inherited from | IterableOnceOps |
Finds the smallest element.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | an option value containing the smallest element of this collection with respect to the ordering |
| Inherited from | IterableOnceOps |
Displays all elements of this collection in a string.
Delegates to addString, which can be overridden.
| Returns | a string representation of this collection. In the resulting string the string representations (w.r.t. the method |
|---|---|
| Inherited from | IterableOnceOps |
Displays all elements of this collection in a string using a separator string.
Delegates to addString, which can be overridden.
| Value parameters |
|
|---|---|
| Returns | a string representation of this collection. In the resulting string the string representations (w.r.t. the method |
| Example |
|
| Inherited from | IterableOnceOps |
Displays all elements of this collection in a string using start, end, and separator strings.
Delegates to addString, which can be overridden.
| Value parameters |
|
|---|---|
| Returns | a string representation of this collection. The resulting string begins with the string |
| Example |
|
| Inherited from | IterableOnceOps |
Tests whether the collection is not empty.
| Returns |
|
|---|---|
| Inherited from | IterableOnceOps |
A pair of, first, all elements that satisfy predicate p and, second, all elements that do not. Interesting because it splits a collection in two.
The default implementation provided here needs to traverse the collection twice. Strict collections have an overridden version of partition in StrictOptimizedIterableOps, which requires only a single traversal.
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Applies a function f to each element of the iterable collection and returns a pair of iterable collections: the first one made of those values returned by f that were wrapped in scala.util.Left, and the second one made of those wrapped in scala.util.Right.
Example:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a pair of iterable collections: the first one made of those values returned by |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
| Inherited from | StrictOptimizedIterableOps |
Multiplies up the elements of this collection.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the product of all elements of this collection with respect to the |
| Inherited from | IterableOnceOps |
Reduces the elements of this collection using the specified associative binary operator.
The order in which operations are performed on elements is unspecified and may be nondeterministic.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | The result of applying reduce operator |
| Throws |
|
| Inherited from | IterableOnceOps |
Applies a binary operator to all elements of this collection, going left to right.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the result of inserting |
| Throws |
|
| Inherited from | IterableOnceOps |
Optionally applies a binary operator to all elements of this collection, going left to right.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | an option value containing the result of |
| Inherited from | IterableOnceOps |
Reduces the elements of this collection, if any, using the specified associative binary operator.
The order in which operations are performed on elements is unspecified and may be nondeterministic.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | An option value containing result of applying reduce operator |
| Inherited from | IterableOnceOps |
Applies a binary operator to all elements of this collection, going right to left.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the result of inserting |
| Throws |
|
| Inherited from | IterableOnceOps |
Optionally applies a binary operator to all elements of this collection, going right to left.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered or the operator is associative and commutative.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | an option value containing the result of |
| Inherited from | IterableOnceOps |
| Inherited from | IterableOnceOps |
|---|
Computes a prefix scan of the elements of the collection.
Note: The neutral element z may be applied more than once.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a new iterable collection containing the prefix scan of the elements in this iterable collection |
| Inherited from | IterableOps |
Produces a iterable collection containing cumulative results of applying the operator going left to right, including the initial value.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | collection with intermediate results |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Produces a collection containing cumulative results of applying the operator going right to left. The head of the collection is the last cumulative result.
Note: will not terminate for infinite-sized collections.
Note: might return different results for different runs, unless the underlying collection type is ordered.
Note: Even when applied to a view or a lazy collection it will always force the elements.
Example:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | collection with intermediate results |
| Inherited from | IterableOps |
Compares the size of this iterable collection to the size of another Iterable.
| Value parameters |
|
|---|---|
| Returns |
A value x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size The method as implemented here does not call |
| Inherited from | IterableOps |
Compares the size of this iterable collection to a test value.
| Value parameters |
|
|---|---|
| Returns |
A value x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize The method as implemented here does not call |
| See also | |
| Inherited from | IterableOps |
Gives a hint that one expects the result of this builder to have the same size as the given collection, plus some delta. This will provide a hint only if the collection has a known size Some builder classes will optimize their representation based on the hint. However, builder implementations are still required to work correctly even if the hint is wrong, i.e. a different number of elements is added.
| Value parameters |
|
|---|---|
| Inherited from | Builder |
Gives a hint how many elements are expected to be added when the next result is called. Some builder classes will optimize their representation based on the hint. However, builder implementations are still required to work correctly even if the hint is wrong, i.e. a different number of elements is added.
| Value parameters |
|
|---|---|
| Inherited from | Builder |
Gives a hint how many elements are expected to be added when the next result is called, together with an upper bound given by the size of some other collection. Some builder classes will optimize their representation based on the hint. However, builder implementations are still required to work correctly even if the hint is wrong, i.e. a different number of elements is added.
| Value parameters |
|
|---|---|
| Inherited from | Builder |
Returns a value class containing operations for comparing the size of this iterable collection to a test value.
These operations are implemented in terms of sizeCompare(Int), and allow the following more readable usages:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
| Inherited from | IterableOps |
|---|
Selects an interval of elements. The returned iterable collection is made up of all elements x which satisfy the invariant:
from <= indexOf(x) < until
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | a iterable collection containing the elements greater than or equal to index |
| Inherited from | IterableOps |
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.)
The returned iterator will be empty when called on an empty collection. The last element the iterator produces may be smaller than the window size when the original collection isn't exhausted by the window before it and its last element isn't skipped by the step before it.
| Value parameters |
|
|---|---|
| Returns | An iterator producing iterable collections of size |
| See also | scala.collection.Iterator, method |
| Example |
|
| Inherited from | IterableOps |
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.)
An empty collection returns an empty iterator, and a non-empty collection containing fewer elements than the window size returns an iterator that will produce the original collection as its only element.
| Value parameters |
|
|---|---|
| Returns | An iterator producing iterable collections of size |
| See also | scala.collection.Iterator, method |
| Example |
|
| Inherited from | IterableOps |
Splits this iterable collection 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.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | a pair consisting of the longest prefix of this iterable collection whose elements all satisfy |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Splits this iterable collection into a prefix/suffix pair at a given position.
Note: c splitAt n is equivalent to (but possibly more efficient than) (c take n, c drop n).
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | a pair of iterable collections consisting of the first |
| Definition Classes | IterableOps -> IterableOnceOps |
| Inherited from | IterableOps |
Returns a scala.collection.Stepper for the elements of this collection.
The Stepper enables creating a Java stream to operate on the collection, see scala.jdk.StreamConverters. For collections holding primitive values, the Stepper can be used as an iterator which doesn't box the elements.
The implicit scala.collection.StepperShape parameter defines the resulting Stepper type according to the element type of this collection.
For collections of Int, Short, Byte or Char, an scala.collection.IntStepper is returned
For collections of Double or Float, a scala.collection.DoubleStepper is returned
For collections of Long a scala.collection.LongStepper is returned
For any other element type, an scala.collection.AnyStepper is returned
Note that this method is overridden in subclasses and the return type is refined to S with EfficientSplit, for example scala.collection.IndexedSeqOps.stepper. For Steppers marked with scala.collection.Stepper.EfficientSplit, the converters in scala.jdk.StreamConverters allow creating parallel streams, whereas bare Steppers can be converted only to sequential streams.
| Inherited from | IterableOnce |
|---|
Sums up the elements of this collection.
Note: will not terminate for infinite-sized collections.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | the sum of all elements of this collection with respect to the |
| Inherited from | IterableOnceOps |
The rest of the collection without its first element.
| Inherited from | IterableOps |
|---|
Iterates over the tails of this iterable collection. The first value will be this iterable collection and the final one will be an empty iterable collection, with the intervening values the results of successive applications of tail.
| Returns | an iterator over all the tails of this iterable collection |
|---|---|
| Example |
|
| Inherited from | IterableOps |
Selects the first n elements.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | a iterable collection consisting only of the first |
| Inherited from | IterableOps |
A collection containing the last n elements of this collection.
Note: Even when applied to a view or a lazy collection it will always force the elements.
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Takes longest prefix of elements that satisfy a predicate.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | the longest prefix of this iterable collection whose elements all satisfy the predicate |
| Inherited from | IterableOps |
Applies a side-effecting function to each element in this collection. Strict collections will apply f to their elements immediately, while lazy collections like Views and LazyLists will only apply f on each element if and when that element is evaluated, and each time that element is evaluated.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | The same logical collection as this |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Given a collection factory factory, convert this collection to the appropriate representation for the current element type A. Example uses:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // for xs: Iterable[Int]
| Inherited from | IterableOnceOps |
|---|
Convert collection to array.
Implementation note: DO NOT call Array.from from this method.
| Inherited from | IterableOnceOps |
|---|
| Inherited from | IterableOnceOps |
|---|
| Inherited from | IterableOnceOps |
|---|
| Inherited from | IterableOnceOps |
|---|
| Returns | This collection as a |
|---|---|
| Inherited from | IterableOnceOps |
| Inherited from | IterableOnceOps |
|---|
| Inherited from | IterableOnceOps |
|---|
Transposes this iterable collection of iterable collections into a iterable collection of iterable collections.
The resulting collection's type will be guided by the static type of iterable collection. For example:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Note: Even when applied to a view or a lazy collection it will always force the elements.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a two-dimensional iterable collection of iterable collections which has as nth row the nth column of this iterable collection. |
| Throws |
|
| Inherited from | IterableOps |
Converts this iterable collection of pairs into two collections of the first and second half of each pair.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a pair of iterable collections, containing the first, respectively second half of each element pair of this iterable collection. |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
| Inherited from | StrictOptimizedIterableOps |
Converts this iterable collection of triples into three collections of the first, second, and third element of each triple.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a triple of iterable collections, containing the first, second, respectively third member of each element triple of this iterable collection. |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
| Inherited from | StrictOptimizedIterableOps |
A view over the elements of this collection.
| Inherited from | IterableOps |
|---|
Creates a non-strict filter of this iterable collection.
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.
Note: might return different results for different runs, unless the underlying collection type is ordered.
| Value parameters |
|
|---|---|
| Returns | an object of class |
| Inherited from | IterableOps |
Returns a iterable collection formed from this iterable collection 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.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | a new iterable collection containing pairs consisting of corresponding elements of this iterable collection and |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
| Inherited from | StrictOptimizedIterableOps |
Returns a iterable collection formed from this iterable collection 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.
| Value parameters |
|
|---|---|
| Returns | a new collection of type |
| Inherited from | IterableOps |
Zips this iterable collection with its indices.
| Returns | A new iterable collection containing pairs consisting of all elements of this iterable collection paired with their index. Indices start at |
|---|---|
| Example | |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/mutable/PriorityQueue.html