Class DoubleBigList.DoubleBlock
- java.lang.Object
-
- org.magicwerk.brownies.collections.primitive.IDoubleList
-
- org.magicwerk.brownies.collections.primitive.DoubleGapList
-
- org.magicwerk.brownies.collections.primitive.DoubleBigList.DoubleBlock
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,IDoubleListable
- Enclosing class:
- DoubleBigList
static class DoubleBigList.DoubleBlock extends DoubleGapList
A block stores in maximum blockSize number of elements. The first block in a DoubleBigList 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 DoubleBigList instances with a copy-on-write approach.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.magicwerk.brownies.collections.primitive.DoubleGapList
DoubleGapList.ReadOnlyList
-
Nested classes/interfaces inherited from class org.magicwerk.brownies.collections.primitive.IDoubleList
IDoubleList.IDoubleListableFromArray, IDoubleList.IDoubleListableFromCollection, IDoubleList.IDoubleListableFromList, IDoubleList.IDoubleListableFromMult
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicInteger
refCount
-
Fields inherited from class org.magicwerk.brownies.collections.primitive.DoubleGapList
DEFAULT_CAPACITY
-
-
Constructor Summary
Constructors Constructor Description DoubleBlock()
DoubleBlock(int capacity)
DoubleBlock(DoubleBigList.DoubleBlock that)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isShared()
DoubleBigList.DoubleBlock
ref()
Increment reference count as block is used by one DoubleBigList instance more.void
unref()
Decrement reference count as block is no longer used by one DoubleBigList instance.-
Methods inherited from class org.magicwerk.brownies.collections.primitive.DoubleGapList
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.IDoubleList
addAll, addAll, addAll, addAll, addArray, addArray, addArray, addArray, addFirst, addIfAbsent, addLast, addMult, addMult, asIDoubleListable, 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
-
DoubleBlock
public DoubleBlock()
-
DoubleBlock
public DoubleBlock(int capacity)
-
DoubleBlock
public DoubleBlock(DoubleBigList.DoubleBlock that)
-
-
Method Detail
-
isShared
public boolean isShared()
- Returns:
- true if block is shared by several DoubleBigList instances
-
ref
public DoubleBigList.DoubleBlock ref()
Increment reference count as block is used by one DoubleBigList instance more.
-
unref
public void unref()
Decrement reference count as block is no longer used by one DoubleBigList instance.
-
-