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