Class CharBigList.CharBlock
- java.lang.Object
-
- org.magicwerk.brownies.collections.primitive.ICharList
-
- org.magicwerk.brownies.collections.primitive.CharGapList
-
- org.magicwerk.brownies.collections.primitive.CharBigList.CharBlock
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.CharSequence
,java.lang.Cloneable
,ICharListable
- Enclosing class:
- CharBigList
static class CharBigList.CharBlock extends CharGapList
A block stores in maximum blockSize number of elements. The first block in a CharBigList 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 CharBigList instances with a copy-on-write approach.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.magicwerk.brownies.collections.primitive.CharGapList
CharGapList.ReadOnlyList
-
Nested classes/interfaces inherited from class org.magicwerk.brownies.collections.primitive.ICharList
ICharList.ICharListableFromArray, ICharList.ICharListableFromCollection, ICharList.ICharListableFromList, ICharList.ICharListableFromMult
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicInteger
refCount
-
Fields inherited from class org.magicwerk.brownies.collections.primitive.CharGapList
DEFAULT_CAPACITY
-
-
Constructor Summary
Constructors Constructor Description CharBlock()
CharBlock(int capacity)
CharBlock(CharBigList.CharBlock that)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isShared()
CharBigList.CharBlock
ref()
Increment reference count as block is used by one CharBigList instance more.void
unref()
Decrement reference count as block is no longer used by one CharBigList instance.-
Methods inherited from class org.magicwerk.brownies.collections.primitive.CharGapList
add, add, binarySearch, calculateNewCapacity, capacity, clone, copy, create, 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, init, isNormalized, isReadOnly, map, prepareAddBuffer, releaseAddBuffer, remove, size, sort, trimToSize, unmodifiableList
-
Methods inherited from class org.magicwerk.brownies.collections.primitive.ICharList
addAll, addAll, addAll, addAll, addArray, addArray, addArray, addArray, addFirst, addIfAbsent, addLast, addMult, addMult, asICharListable, binarySearch, charAt, 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, length, 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, subSequence, swap, toArray, toArray, toArray, toArray, toArray, toArray, toArray, toString, transferCopy, transferMove, transferRemove, transferSwap, transform, transformedList
-
-
-
-
Constructor Detail
-
CharBlock
public CharBlock()
-
CharBlock
public CharBlock(int capacity)
-
CharBlock
public CharBlock(CharBigList.CharBlock that)
-
-
Method Detail
-
isShared
public boolean isShared()
- Returns:
- true if block is shared by several CharBigList instances
-
ref
public CharBigList.CharBlock ref()
Increment reference count as block is used by one CharBigList instance more.
-
unref
public void unref()
Decrement reference count as block is no longer used by one CharBigList instance.
-
-