After calling result() the behavior of a Builder (which is not also a scala.collection.mutable.ReusableBuilder) is undefined. No further methods should be called. It is common for mutable collections to be their own non-reusable Builder, in which case result() simply returns this.
Gives a hint how many elements are expected to be added in total by the time result is called.
Gives a hint how many elements are expected to be added in total by the time result is called.
Some builder classes will optimize their representation based on the hint. However, builder implementations are required to work correctly even if the hint is wrong, e.g., a different number of elements is added, or the hint is out of range.
The default implementation simply ignores the hint.
Gives a hint that the result of this builder is expected to have the same size as the given collection, plus some delta.
Gives a hint that the result of this builder is expected to have the same size as the given collection, plus some delta.
This method provides a hint only if the collection has a known size, as specified by the following pseudocode:
if (coll.knownSize != -1)
if (coll.knownSize + delta <= 0) sizeHint(0)
else sizeHint(coll.knownSize + delta)
If the delta is negative and the result size is known to be negative, then the size hint is issued at zero.
Some builder classes will optimize their representation based on the hint. However, builder implementations are required to work correctly even if the hint is wrong, i.e., if a different number of elements is added.
Value parameters
coll
the collection which serves as a hint for the result's size.
delta
a correction to add to the coll.size to produce the size hint (zero if omitted).
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.
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
boundingColl
the bounding collection. If it is an IndexedSeqLike, then sizes larger than collection's size are reduced.