Class LongBigList.LongBlock
- java.lang.Object
-
- org.magicwerk.brownies.collections.primitive.ILongList
-
- org.magicwerk.brownies.collections.primitive.LongGapList
-
- org.magicwerk.brownies.collections.primitive.LongBigList.LongBlock
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,ILongListable
- Enclosing class:
- LongBigList
static class LongBigList.LongBlock extends LongGapList
A block stores in maximum blockSize number of elements. The first block in a LongBigList will grow until reaches this limit, all other blocks are directly allocated with a capacity of blockSize. A block maintains a reference count which allows a block to be shared among different LongBigList instances with a copy-on-write approach.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.magicwerk.brownies.collections.primitive.LongGapList
LongGapList.ReadOnlyList
-
Nested classes/interfaces inherited from class org.magicwerk.brownies.collections.primitive.ILongList
ILongList.ILongListableFromArray, ILongList.ILongListableFromCollection, ILongList.ILongListableFromList, ILongList.ILongListableFromMult
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicInteger
refCount
-
Fields inherited from class org.magicwerk.brownies.collections.primitive.LongGapList
DEFAULT_CAPACITY
-
-
Constructor Summary
Constructors Constructor Description LongBlock()
LongBlock(int capacity)
LongBlock(LongBigList.LongBlock that)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isShared()
LongBigList.LongBlock
ref()
Increment reference count as block is used by one LongBigList instance more.void
unref()
Decrement reference count as block is no longer used by one LongBigList instance.-
Methods inherited from class org.magicwerk.brownies.collections.primitive.LongGapList
add, add, binarySearch, calculateNewCapacity, capacity, clone, copy, create, create, create, crop, doAdd, doAssign, doClear, doClone, doCreate, doEnsureCapacity, doGet, doGetAll, doRemove, doRemoveAll, doRemoveAllFast, doReSet, doSet, EMPTY, ensureNormalized, get, getAll, getAll, getDefaultElem, immutable, immutable, immutableList, init, init, init, init, isNormalized, isReadOnly, map, prepareAddBuffer, releaseAddBuffer, remove, size, sort, trimToSize, unmodifiableList
-
Methods inherited from class org.magicwerk.brownies.collections.primitive.ILongList
addAll, addAll, addAll, addAll, addArray, addArray, addArray, addArray, addFirst, addIfAbsent, addLast, addMult, addMult, asILongListable, binarySearch, checkIndex, checkIndexAdd, checkLength, checkLengths, checkNonNull, checkRange, clear, contains, containsAll, containsAny, containsIf, copy, count, countIf, doAddAll, doCreateArray, doIndexOf, doIndexOfIf, doInitAll, doLastIndexOf, doLastIndexOfIf, doModify, doPutAll, doReplace, doRotate, doTransfer, doTransferSwap, drag, element, ensureCapacity, equals, equalsElem, extract, extractIf, fill, filter, filterMap, flatMap, getDistinct, getFirst, getFirstOrNull, getIf, getLast, getLastOrNull, getSingle, getSingleOrNull, hashCode, hashCodeElem, indexOf, indexOf, indexOfIf, indexOfIf, initAll, initAll, initArray, initMult, isEmpty, lastIndexOf, lastIndexOf, lastIndexOfIf, lastIndexOfIf, mapFilter, move, offer, offerFirst, offerLast, peek, peekFirst, peekLast, poll, pollFirst, pollLast, pop, push, put, putAll, putAll, putArray, putMult, remove, remove, removeAll, removeAll, removeAll, removeElem, removeFirst, removeFirstOccurrence, removeIf, removeLast, removeLastOccurrence, replace, replaceAll, replaceAll, replaceArray, replaceMult, resize, retain, retainAll, retainAll, retainIf, reverse, reverse, rotate, rotate, set, setAll, setAll, setArray, setArray, setMult, sort, swap, toArray, toArray, toArray, toArray, toArray, toArray, toArray, toString, transferCopy, transferMove, transferRemove, transferSwap, transform, transformedList
-
-
-
-
Constructor Detail
-
LongBlock
public LongBlock()
-
LongBlock
public LongBlock(int capacity)
-
LongBlock
public LongBlock(LongBigList.LongBlock that)
-
-
Method Detail
-
isShared
public boolean isShared()
- Returns:
- true if block is shared by several LongBigList instances
-
ref
public LongBigList.LongBlock ref()
Increment reference count as block is used by one LongBigList instance more.
-
unref
public void unref()
Decrement reference count as block is no longer used by one LongBigList instance.
-
-