Class ImmutableSet.RegularSetBuilderImpl<E>
java.lang.Object
org.docx4j.com.google.common.collect.ImmutableSet.SetBuilderImpl<E>
org.docx4j.com.google.common.collect.ImmutableSet.RegularSetBuilderImpl<E>
- Enclosing class:
- ImmutableSet<E>
private static final class ImmutableSet.RegularSetBuilderImpl<E>
extends ImmutableSet.SetBuilderImpl<E>
Default implementation of the guts of ImmutableSet.Builder, creating an open-addressed hash
table and deduplicating elements as they come, so it only allocates O(max(distinct,
expectedCapacity)) rather than O(calls to add).
This implementation attempts to detect hash flooding, and if it's identified, falls back to JdkBackedSetBuilderImpl.
-
Field Summary
FieldsFields inherited from class org.docx4j.com.google.common.collect.ImmutableSet.SetBuilderImpl
dedupedElements, distinct -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) ImmutableSet.SetBuilderImpl<E>Adds e to this SetBuilderImpl, returning the updated result.(package private) ImmutableSet<E>build()(package private) ImmutableSet.SetBuilderImpl<E>copy()Creates a new copy of this SetBuilderImpl.(package private) voidensureTableCapacity(int minCapacity) (package private) ImmutableSet.SetBuilderImpl<E>review()Call this before build().Methods inherited from class org.docx4j.com.google.common.collect.ImmutableSet.SetBuilderImpl
addDedupedElement, combine
-
Field Details
-
hashTable
-
maxRunBeforeFallback
private int maxRunBeforeFallback -
expandTableThreshold
private int expandTableThreshold -
hashCode
private int hashCode
-
-
Constructor Details
-
RegularSetBuilderImpl
RegularSetBuilderImpl(int expectedCapacity) -
RegularSetBuilderImpl
RegularSetBuilderImpl(ImmutableSet.RegularSetBuilderImpl<E> toCopy)
-
-
Method Details
-
ensureTableCapacity
void ensureTableCapacity(int minCapacity) -
add
Description copied from class:ImmutableSet.SetBuilderImplAdds e to this SetBuilderImpl, returning the updated result. Only use the returned SetBuilderImpl, since we may switch implementations if e.g. hash flooding is detected.- Specified by:
addin classImmutableSet.SetBuilderImpl<E>
-
copy
ImmutableSet.SetBuilderImpl<E> copy()Description copied from class:ImmutableSet.SetBuilderImplCreates a new copy of this SetBuilderImpl. Modifications to that SetBuilderImpl will not affect this SetBuilderImpl or sets constructed from this SetBuilderImpl via build().- Specified by:
copyin classImmutableSet.SetBuilderImpl<E>
-
review
ImmutableSet.SetBuilderImpl<E> review()Description copied from class:ImmutableSet.SetBuilderImplCall this before build(). Does a final check on the internal data structures, e.g. shrinking unnecessarily large structures or detecting previously unnoticed hash flooding.- Overrides:
reviewin classImmutableSet.SetBuilderImpl<E>
-
build
ImmutableSet<E> build()- Specified by:
buildin classImmutableSet.SetBuilderImpl<E>
-