Package one.microstream.collections
Class ChainStorageStrong<E,K,V,EN extends AbstractChainEntry<E,K,V,EN>>
- java.lang.Object
-
- one.microstream.collections.AbstractChainStorage<E,K,V,EN>
-
- one.microstream.collections.ChainStorageStrong<E,K,V,EN>
-
- All Implemented Interfaces:
Iterable<E>,ChainStorage<E,K,V,EN>,Composition
- Direct Known Subclasses:
AbstractChainKeyValueStorage
public class ChainStorageStrong<E,K,V,EN extends AbstractChainEntry<E,K,V,EN>> extends AbstractChainStorage<E,K,V,EN>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface one.microstream.collections.interfaces.ChainStorage
ChainStorage.Entry<E,K,V,EN extends ChainStorage.Entry<E,K,V,EN>>
-
-
Constructor Summary
Constructors Constructor Description ChainStorageStrong(AbstractChainCollection<E,K,V,EN> parent, EN head)
-
Method Summary
Modifier and Type Method Description voidappendEntry(EN entry)VarStringappendTo(VarString vc)VarStringappendTo(VarString vc, char separator)VarStringappendTo(VarString vc, String separator)VarStringappendTo(VarString vc, BiConsumer<VarString,? super E> appender)VarStringappendTo(VarString vc, BiConsumer<VarString,? super E> appender, char separator)VarStringappendTo(VarString vc, BiConsumer<VarString,? super E> appender, String separator)booleanappliesAll(Predicate<? super E> predicate)voidclear()longconsolidate()Removes all empty entries from the passed chain and returns the number of removed entries.booleancontains(E element)booleancontains(E sample, Equalator<? super E> equalator)booleancontainsAll(E[] elements, int elementsOffset, int elementsLength)booleancontainsAll(XGettingCollection<? extends E> elements)booleancontainsId(E element)booleancontainsNull()booleancontainsSearched(Predicate<? super E> predicate)<C extends Consumer<? super E>>
CcopySelection(C target, long[] indices)<C extends Consumer<? super E>>
CcopyTo(C target)<C extends Consumer<? super E>>
CcopyTo(C target, Predicate<? super E> predicate)intcopyToArray(long offset, int length, Object[] target, int targetOffset)longcount(E element)longcount(E sample, Equalator<? super E> equalator)longcount(Predicate<? super E> predicate)<C extends Consumer<? super E>>
Cdistinct(C target)<C extends Consumer<? super E>>
Cdistinct(C target, Equalator<? super E> equalator)booleanequalsContent(XGettingCollection<? extends E> other, Equalator<? super E> equalator)<C extends Consumer<? super E>>
Cexcept(XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)voidfill(long offset, long length, E element)Efirst()Eget(long index)ENgetChainEntry(long index)ENgetIntervalLowChainEntry(long lowIndex, long highIndex)ENgetRangeChainEntry(long offset, long length)ReferenceTypegetReferenceType()booleanhasDistinctValues()booleanhasDistinctValues(Equalator<? super E> equalator)booleanhasVolatileElements()longindexOf(E element)longindexOf(E sample, Equalator<? super E> equalator)longindexOf(Predicate<? super E> predicate)<C extends Consumer<? super E>>
Cintersect(XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)booleanisSorted(Comparator<? super E> comparator)voiditerate(Consumer<? super E> procedure)voiditerate(Predicate<? super E> predicate, Consumer<? super E> procedure)voiditerateIndexed(IndexedAcceptor<? super E> procedure)Iterator<E>iterator()<A> voidjoin(BiConsumer<? super E,A> joiner, A aggregate)Elast()Emax(Comparator<? super E> comparator)longmaxIndex(Comparator<? super E> comparator)Emin(Comparator<? super E> comparator)longminIndex(Comparator<? super E> comparator)longmoveRange(long offset, long length, Consumer<? super E> target)longmoveSelection(Consumer<? super E> target, long... indices)longmoveTo(Consumer<? super E> target, Predicate<? super E> predicate)voidprependEntry(EN entry)longprocess(Consumer<? super E> procedure)longreduce(Predicate<? super E> predicate)Eremove(long index)longremove(E element)longremove(E sample, Equalator<? super E> equalator)longremoveAll(E[] elements, int elementsOffset, int elementsLength)longremoveAll(XGettingCollection<? extends E> elements)longremoveDuplicates()longremoveDuplicates(Equalator<? super E> equalator)longremoveNull()booleanremoveOne(E element)booleanremoveOne(E sample, Equalator<? super E> equalator)voidremoveRange(long offset, long length)longremoveSelection(long... indices)Removes all entries at the indices (offsets) given in the passedintarray.longreplace(E element, E replacement)longreplaceAll(E[] elements, int elementsOffset, int elementsLength, E replacement)longreplaceAll(XGettingCollection<? extends E> elements, E replacement)longreplaceBy(Predicate<? super E> predicate, E substitute)longreplaceOne(E element, E replacement)longreplaceOneBy(Predicate<? super E> predicate, E substitute)longretainAll(E[] elements, int elementsOffset, int elementsLength)intretainAll(E[] samples, int samplesOffset, int samplesLength, Equalator<? super E> equalator)longretainAll(XGettingCollection<? extends E> elements)longretainAll(XGettingCollection<? extends E> samples, Equalator<? super E> equalator)voidretainRange(long offset, long length)Eretrieve(E element)Eretrieve(E sample, Equalator<? super E> equalator)Eretrieve(Predicate<? super E> predicate)voidreverse()VarStringrngAppendTo(long offset, long length, VarString vc)VarStringrngAppendTo(long offset, long length, VarString vc, char separator)VarStringrngAppendTo(long offset, long length, VarString vc, String separator)VarStringrngAppendTo(long offset, long length, VarString vc, BiConsumer<VarString,? super E> appender)VarStringrngAppendTo(long offset, long length, VarString vc, BiConsumer<VarString,? super E> appender, char separator)VarStringrngAppendTo(long offset, long length, VarString vc, BiConsumer<VarString,? super E> appender, String separator)booleanrngAppliesAll(long offset, long length, Predicate<? super E> predicate)booleanrngContains(long offset, long length, E element)booleanrngContainsAll(long offset, long length, E[] elements, int elementsOffset, int elementsLength)booleanrngContainsAll(long offset, long length, XGettingCollection<? extends E> elements)booleanrngContainsId(long offset, long length, E element)booleanrngContainsNull(long offset, long length)booleanrngContainsSearched(long offset, long length, Predicate<? super E> predicate)<C extends Consumer<? super E>>
CrngCopyTo(long offset, long length, C target)<C extends Consumer<? super E>>
CrngCopyTo(long offset, long length, C target, Predicate<? super E> predicate)longrngCount(long offset, long length, E element)longrngCount(long offset, long length, Predicate<? super E> predicate)<C extends Consumer<? super E>>
CrngDistinct(long offset, long length, C target)<C extends Consumer<? super E>>
CrngDistinct(long offset, long length, C target, Equalator<? super E> equalator)<C extends Consumer<? super E>>
CrngExcept(long offset, long length, XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)longrngIndexOf(long offset, long length, E element)longrngIndexOf(long offset, long length, E sample, Equalator<? super E> equalator)longrngIndexOf(long offset, long length, Predicate<? super E> predicate)<C extends Consumer<? super E>>
CrngIntersect(long offset, long length, XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)booleanrngIsSorted(long offset, long length, Comparator<? super E> comparator)voidrngIterate(long offset, long length, Consumer<? super E> procedure)voidrngIterateIndexed(long offset, long length, IndexedAcceptor<? super E> procedure)ErngMax(long offset, long length, Comparator<? super E> comparator)longrngMaxIndex(long offset, long length, Comparator<? super E> comparator)ErngMin(long offset, long length, Comparator<? super E> comparator)longrngMinIndex(long offset, long length, Comparator<? super E> comparator)longrngMoveTo(long offset, long length, Consumer<? super E> target, Predicate<? super E> predicate)longrngProcess(long offset, long length, Consumer<? super E> procedure)longrngReduce(long offset, long length, Predicate<? super E> predicate)longrngRemove(long offset, long length, E element)longrngRemoveAll(long offset, long length, E[] elements, int elementsOffset, int elementsLength)longrngRemoveAll(long offset, long length, XGettingCollection<? extends E> elements)longrngRemoveDuplicates(long offset, long length)longrngRemoveDuplicates(long offset, long length, Equalator<? super E> equalator)longrngRemoveNull(long offset, long length)longrngReplace(long offset, long length, E element, E replacement)longrngReplace(long offset, long length, E sample, Equalator<? super E> equalator, E replacement)longrngReplaceAll(long offset, long length, E[] elements, int elementsOffset, int elementsLength, E replacement)longrngReplaceAll(long offset, long length, XGettingCollection<? extends E> elements, E replacement)longrngReplaceOne(long offset, long length, E element, E replacement)longrngReplaceOne(long offset, long length, Predicate<? super E> predicate, E substitute)longrngReplaceOneBy(long offset, long length, Predicate<? super E> predicate, E substitute)longrngRetainAll(long offset, long length, E[] elements, int elementsOffset, int elementsLength)longrngRetainAll(long offset, long length, XGettingCollection<? extends E> elements)ErngRetrieve(long offset, long length, E element)ErngRetrieve(long offset, long length, E sample, Equalator<? super E> equalator)voidrngReverse(long offset, long length)longrngScan(long offset, long length, Predicate<? super E> predicate)ErngSearch(long offset, long length, Predicate<? super E> predicate)voidrngShuffle(long offset, long length)voidrngSort(long offset, long length, Comparator<? super E> comparator)longrngSubstitute(long offset, long length, Function<E,E> mapper)longrngSubstitute(long offset, long length, Predicate<? super E> predicate, Function<E,E> mapper)Object[]rngToArray(long offset, int length)E[]rngToArray(long offset, int length, Class<E> type)<C extends Consumer<? super E>>
CrngUnion(long offset, long length, XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)longscan(Predicate<? super E> predicate)Esearch(Predicate<? super E> predicate)Eseek(E sample)Eseek(E sample, Equalator<? super E> equalator)voidset(long offset, E[] elements)voidset(long offset, E[] elements, int elementsOffset, int elementsLength)voidshiftBy(long sourceIndex, long distance)voidshiftBy(long sourceIndex, long distance, long length)voidshiftTo(long sourceIndex, long targetIndex)voidshiftTo(long sourceIndex, long targetIndex, long length)voidshuffle()longsize()voidsort(Comparator<? super E> comparator)longsubstitute(Function<E,E> mapper)longsubstitute(Predicate<? super E> predicate, Function<E,E> mapper)voidswap(long indexA, long indexB)voidswap(long indexA, long indexB, long length)Object[]toArray()E[]toArray(Class<E> type)StringtoString()<C extends Consumer<? super E>>
Cunion(XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
appendEntry
public final void appendEntry(EN entry)
-
prependEntry
public final void prependEntry(EN entry)
-
clear
public void clear()
-
shiftBy
public final void shiftBy(long sourceIndex, long distance)
-
shiftBy
public final void shiftBy(long sourceIndex, long distance, long length)
-
shiftTo
public final void shiftTo(long sourceIndex, long targetIndex)
-
shiftTo
public final void shiftTo(long sourceIndex, long targetIndex, long length)
-
removeRange
public final void removeRange(long offset, long length)
-
retainRange
public final void retainRange(long offset, long length)
-
removeSelection
public final long removeSelection(long... indices)
Removes all entries at the indices (offsets) given in the passedintarray.Note that the indices array gets presorted to increase algorithm performance. Pass a clone if the original
intarray shall be unchanged.- Parameters:
indices- the indices (offsets) of the entries to be removed.- Returns:
- the amount of actually removed entries.
-
equalsContent
public final boolean equalsContent(XGettingCollection<? extends E> other, Equalator<? super E> equalator)
-
getChainEntry
public EN getChainEntry(long index) throws IndexOutOfBoundsException
- Throws:
IndexOutOfBoundsException
-
getRangeChainEntry
public EN getRangeChainEntry(long offset, long length) throws IndexOutOfBoundsException
- Throws:
IndexOutOfBoundsException
-
getIntervalLowChainEntry
public EN getIntervalLowChainEntry(long lowIndex, long highIndex) throws IndexOutOfBoundsException
- Throws:
IndexOutOfBoundsException
-
size
public final long size()
-
consolidate
public final long consolidate()
Description copied from interface:ChainStorageRemoves all empty entries from the passed chain and returns the number of removed entries.- Returns:
- the number of removed entries.
-
hasVolatileElements
public final boolean hasVolatileElements()
-
getReferenceType
public final ReferenceType getReferenceType()
-
containsNull
public final boolean containsNull()
-
rngContainsNull
public final boolean rngContainsNull(long offset, long length)
-
containsId
public final boolean containsId(E element)
-
rngContainsId
public final boolean rngContainsId(long offset, long length, E element)
-
contains
public final boolean contains(E element)
-
rngContains
public final boolean rngContains(long offset, long length, E element)
-
containsAll
public final boolean containsAll(E[] elements, int elementsOffset, int elementsLength)
-
rngContainsAll
public final boolean rngContainsAll(long offset, long length, E[] elements, int elementsOffset, int elementsLength)
-
containsAll
public final boolean containsAll(XGettingCollection<? extends E> elements)
-
rngContainsAll
public final boolean rngContainsAll(long offset, long length, XGettingCollection<? extends E> elements)
-
rngContainsSearched
public final boolean rngContainsSearched(long offset, long length, Predicate<? super E> predicate)
-
rngAppliesAll
public final boolean rngAppliesAll(long offset, long length, Predicate<? super E> predicate)
-
count
public final long count(E element)
-
rngCount
public final long rngCount(long offset, long length, E element)
-
intersect
public final <C extends Consumer<? super E>> C intersect(XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)
-
except
public final <C extends Consumer<? super E>> C except(XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)
-
union
public final <C extends Consumer<? super E>> C union(XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)
-
rngIntersect
public final <C extends Consumer<? super E>> C rngIntersect(long offset, long length, XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)
-
rngExcept
public final <C extends Consumer<? super E>> C rngExcept(long offset, long length, XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)
-
rngUnion
public final <C extends Consumer<? super E>> C rngUnion(long offset, long length, XGettingCollection<? extends E> samples, Equalator<? super E> equalator, C target)
-
rngCopyTo
public final <C extends Consumer<? super E>> C rngCopyTo(long offset, long length, C target)
-
copySelection
public final <C extends Consumer<? super E>> C copySelection(C target, long[] indices)
-
copyToArray
public final int copyToArray(long offset, int length, Object[] target, int targetOffset)
-
copyTo
public final <C extends Consumer<? super E>> C copyTo(C target, Predicate<? super E> predicate)
-
rngCopyTo
public final <C extends Consumer<? super E>> C rngCopyTo(long offset, long length, C target, Predicate<? super E> predicate)
-
toArray
public final Object[] toArray()
-
rngToArray
public final Object[] rngToArray(long offset, int length)
-
first
public final E first()
-
last
public final E last()
-
get
public final E get(long index)
-
min
public final E min(Comparator<? super E> comparator)
-
max
public final E max(Comparator<? super E> comparator)
-
rngMin
public final E rngMin(long offset, long length, Comparator<? super E> comparator)
-
rngMax
public final E rngMax(long offset, long length, Comparator<? super E> comparator)
-
join
public final <A> void join(BiConsumer<? super E,A> joiner, A aggregate)
-
iterateIndexed
public final void iterateIndexed(IndexedAcceptor<? super E> procedure)
-
rngIterateIndexed
public final void rngIterateIndexed(long offset, long length, IndexedAcceptor<? super E> procedure)
-
indexOf
public final long indexOf(E element)
-
rngIndexOf
public final long rngIndexOf(long offset, long length, E element)
-
rngIndexOf
public final long rngIndexOf(long offset, long length, E sample, Equalator<? super E> equalator)
-
minIndex
public final long minIndex(Comparator<? super E> comparator)
-
maxIndex
public final long maxIndex(Comparator<? super E> comparator)
-
rngMinIndex
public final long rngMinIndex(long offset, long length, Comparator<? super E> comparator)
-
rngMaxIndex
public final long rngMaxIndex(long offset, long length, Comparator<? super E> comparator)
-
hasDistinctValues
public final boolean hasDistinctValues()
-
distinct
public final <C extends Consumer<? super E>> C distinct(C target, Equalator<? super E> equalator)
-
rngDistinct
public final <C extends Consumer<? super E>> C rngDistinct(long offset, long length, C target)
-
rngDistinct
public final <C extends Consumer<? super E>> C rngDistinct(long offset, long length, C target, Equalator<? super E> equalator)
-
appendTo
public final VarString appendTo(VarString vc, BiConsumer<VarString,? super E> appender)
-
appendTo
public final VarString appendTo(VarString vc, BiConsumer<VarString,? super E> appender, char separator)
-
appendTo
public final VarString appendTo(VarString vc, BiConsumer<VarString,? super E> appender, String separator)
-
rngAppendTo
public final VarString rngAppendTo(long offset, long length, VarString vc, char separator)
-
rngAppendTo
public final VarString rngAppendTo(long offset, long length, VarString vc, String separator)
-
rngAppendTo
public final VarString rngAppendTo(long offset, long length, VarString vc, BiConsumer<VarString,? super E> appender)
-
rngAppendTo
public final VarString rngAppendTo(long offset, long length, VarString vc, BiConsumer<VarString,? super E> appender, char separator)
-
rngAppendTo
public final VarString rngAppendTo(long offset, long length, VarString vc, BiConsumer<VarString,? super E> appender, String separator)
-
toString
public final String toString()
-
remove
public final E remove(long index)
-
removeNull
public final long removeNull()
-
rngRemoveNull
public final long rngRemoveNull(long offset, long length)
-
rngRetrieve
public final E rngRetrieve(long offset, long length, E sample, Equalator<? super E> equalator)
-
removeOne
public final boolean removeOne(E element)
-
remove
public final long remove(E element)
-
rngRemove
public final long rngRemove(long offset, long length, E element)
-
removeAll
public final long removeAll(E[] elements, int elementsOffset, int elementsLength)
-
rngRemoveAll
public final long rngRemoveAll(long offset, long length, E[] elements, int elementsOffset, int elementsLength)
-
removeAll
public final long removeAll(XGettingCollection<? extends E> elements)
-
rngRemoveAll
public final long rngRemoveAll(long offset, long length, XGettingCollection<? extends E> elements)
-
removeDuplicates
public final long removeDuplicates()
-
rngRemoveDuplicates
public final long rngRemoveDuplicates(long offset, long length)
-
rngRemoveDuplicates
public final long rngRemoveDuplicates(long offset, long length, Equalator<? super E> equalator)
-
retainAll
public final long retainAll(E[] elements, int elementsOffset, int elementsLength)
-
retainAll
public final int retainAll(E[] samples, int samplesOffset, int samplesLength, Equalator<? super E> equalator)
-
rngRetainAll
public final long rngRetainAll(long offset, long length, E[] elements, int elementsOffset, int elementsLength)
-
retainAll
public final long retainAll(XGettingCollection<? extends E> elements)
-
retainAll
public final long retainAll(XGettingCollection<? extends E> samples, Equalator<? super E> equalator)
-
rngRetainAll
public final long rngRetainAll(long offset, long length, XGettingCollection<? extends E> elements)
-
rngMoveTo
public final long rngMoveTo(long offset, long length, Consumer<? super E> target, Predicate<? super E> predicate)
-
sort
public final void sort(Comparator<? super E> comparator)
-
rngSort
public final void rngSort(long offset, long length, Comparator<? super E> comparator)
-
isSorted
public final boolean isSorted(Comparator<? super E> comparator)
-
rngIsSorted
public final boolean rngIsSorted(long offset, long length, Comparator<? super E> comparator)
-
set
public final void set(long offset, E[] elements)
-
set
public final void set(long offset, E[] elements, int elementsOffset, int elementsLength)
-
fill
public final void fill(long offset, long length, E element)
-
rngReplace
public final long rngReplace(long offset, long length, E sample, Equalator<? super E> equalator, E replacement)
-
replaceAll
public final long replaceAll(E[] elements, int elementsOffset, int elementsLength, E replacement)
-
rngReplaceAll
public final long rngReplaceAll(long offset, long length, E[] elements, int elementsOffset, int elementsLength, E replacement)
-
replaceAll
public final long replaceAll(XGettingCollection<? extends E> elements, E replacement)
-
rngReplaceAll
public final long rngReplaceAll(long offset, long length, XGettingCollection<? extends E> elements, E replacement)
-
rngReplaceOneBy
public final long rngReplaceOneBy(long offset, long length, Predicate<? super E> predicate, E substitute)
-
rngReplaceOne
public final long rngReplaceOne(long offset, long length, Predicate<? super E> predicate, E substitute)
-
rngSubstitute
public final long rngSubstitute(long offset, long length, Predicate<? super E> predicate, Function<E,E> mapper)
-
swap
public final void swap(long indexA, long indexB)
-
swap
public final void swap(long indexA, long indexB, long length)
-
reverse
public final void reverse()
-
rngReverse
public final void rngReverse(long offset, long length)
-
shuffle
public final void shuffle()
-
rngShuffle
public final void rngShuffle(long offset, long length)
-
-