Package org.ddogleg.struct
Class BigDogArray_B
java.lang.Object
org.ddogleg.struct.BigDogArrayBase<boolean[]>
org.ddogleg.struct.BigDogArray_B
Implementation of
BigDogArrayBase
for boolean[].-
Nested Class Summary
Nested classes/interfaces inherited from class org.ddogleg.struct.BigDogArrayBase
BigDogArrayBase.AssignNewArrayElements<Array>, BigDogArrayBase.FunctionEachRange<Array>, BigDogArrayBase.NewArray<Array>
-
Field Summary
Fields inherited from class org.ddogleg.struct.BigDogArrayBase
blocks, blockSize, DEFAULT_BLOCK_SIZE, generatorArray, growth, initializeArray, size
-
Constructor Summary
ConstructorDescriptionBigDogArray_B
(int initialAllocation) BigDogArray_B
(int initialAllocation, int blockSize, BigDogGrowth growth) -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(boolean value) Appends a single value to the end of the array.void
append
(boolean value) Appends a single value to the end of the arrayvoid
applyIdx
(int idx0, int idx1, DogArray_B.FunctionApplyIdx op) Simulates a for-each loop.protected int
arrayLength
(boolean[] array) void
fill
(int idx0, int idx1, boolean value) Fills the elements in the specified range with the specified value.void
forEach
(int idx0, int idx1, DogArray_B.FunctionEach op) Simulates a for-each loop.void
forIdx
(int idx0, int idx1, DogArray_B.FunctionEachIdx op) Simulates a for-each loop.boolean
get
(int index) Returns the value in the array at the specified indexvoid
getArray
(int index, boolean[] array, int offset, int length) Copies a sub-array into the passed in arrayboolean
getTail
(int index) Returns the value in the array at the specified index, counting from the end of the array.void
removeSwap
(int index) Removes an element in O(1) time by swapping the specified index with the last index and resizing to size -1.void
resize
(int desiredSize, boolean initialValue) Resizes the array and fills all new elements with the specified valuevoid
set
(int index, boolean value) Assigns an element a new valuevoid
setTail
(int index, boolean value) Assigns an element a new value, counting from the end of the array.Methods inherited from class org.ddogleg.struct.BigDogArrayBase
allocate, append, blockArrayLength, getDesiredBlocks, getTotalAllocation, isIndexOutOfBounds, isValidStructure, processByBlock, removeTail, reserve, reset, resize, setArray, setInitialBlockSize
-
Constructor Details
-
BigDogArray_B
public BigDogArray_B() -
BigDogArray_B
public BigDogArray_B(int initialAllocation) -
BigDogArray_B
-
-
Method Details
-
removeSwap
public void removeSwap(int index) Description copied from class:BigDogArrayBase
Removes an element in O(1) time by swapping the specified index with the last index and resizing to size -1.- Specified by:
removeSwap
in classBigDogArrayBase<boolean[]>
-
arrayLength
protected int arrayLength(boolean[] array) - Specified by:
arrayLength
in classBigDogArrayBase<boolean[]>
-
append
public void append(boolean value) Appends a single value to the end of the array- Parameters:
value
- (Input) The new value which is to be added
-
add
public void add(boolean value) Appends a single value to the end of the array. identical toappend(boolean)
.- Parameters:
value
- (Input) The new value which is to be added
-
resize
public void resize(int desiredSize, boolean initialValue) Resizes the array and fills all new elements with the specified value- Parameters:
desiredSize
- New array sizeinitialValue
- The value of new elements
-
fill
public void fill(int idx0, int idx1, boolean value) Fills the elements in the specified range with the specified value.- Parameters:
idx0
- (Input) First index, inclusive.idx1
- (Input) last index, exclusive.value
- (Input) Fill value
-
set
public void set(int index, boolean value) Assigns an element a new value- Parameters:
index
- (Input) Which element to modifyvalue
- (Input) The element's new value
-
setTail
public void setTail(int index, boolean value) Assigns an element a new value, counting from the end of the array.- Parameters:
index
- (Input) Index relative to the end counting in reverse order. setTail(0, 5) = set(size-1, 5)value
- (Input) The element's new value
-
getArray
public void getArray(int index, boolean[] array, int offset, int length) Copies a sub-array into the passed in array- Parameters:
index
- (Input) Start index in this arrayarray
- (Output) destination arrayoffset
- Offset from start of destination arraylength
- Number of elements to copy
-
get
public boolean get(int index) Returns the value in the array at the specified index- Parameters:
index
- (Input) Index in the array- Returns:
- value at index
-
getTail
public boolean getTail(int index) Returns the value in the array at the specified index, counting from the end of the array.- Parameters:
index
- (Input) Index relative to the end counting in reverse order. 0 = get(size-1)
-
forEach
Simulates a for-each loop. Passes in element values to 'op' from the specified range.- Parameters:
idx0
- (Input) First index, inclusive.idx1
- (Input) Last index, exclusive.op
- The operator which processes the values
-
forIdx
Simulates a for-each loop. Passes in array indexes and element values to 'op' from the specified range.- Parameters:
idx0
- (Input) First index, inclusive.idx1
- (Input) Last index, exclusive.op
- The operator which processes the values
-
applyIdx
Simulates a for-each loop. Passes in array indexes and element values to 'op' from the specified range. After calling op, the array is modified by the return value- Parameters:
idx0
- (Input) First index, inclusive.idx1
- (Input) Last index, exclusive.op
- The operator which processes the values
-