Package org.ddogleg.struct
Class BigDogArray_I8
java.lang.Object
org.ddogleg.struct.BigDogArrayBase<byte[]>
org.ddogleg.struct.BigDogArray_I8
Implementation of
BigDogArrayBase
for byte[].-
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_I8
(int initialAllocation) BigDogArray_I8
(int initialAllocation, int blockSize, BigDogGrowth growth) -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(byte value) Appends a single value to the end of the array.void
append
(byte value) Appends a single value to the end of the arrayvoid
applyIdx
(int idx0, int idx1, DogArray_I8.FunctionApplyIdx op) Simulates a for-each loop.protected int
arrayLength
(byte[] array) void
fill
(int idx0, int idx1, byte value) Fills the elements in the specified range with the specified value.void
forEach
(int idx0, int idx1, DogArray_I8.FunctionEach op) Simulates a for-each loop.void
forIdx
(int idx0, int idx1, DogArray_I8.FunctionEachIdx op) Simulates a for-each loop.byte
get
(int index) Returns the value in the array at the specified indexvoid
getArray
(int index, byte[] array, int offset, int length) Copies a sub-array into the passed in arraybyte
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, byte initialValue) Resizes the array and fills all new elements with the specified valuevoid
set
(int index, byte value) Assigns an element a new valuevoid
setTail
(int index, byte 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_I8
public BigDogArray_I8() -
BigDogArray_I8
public BigDogArray_I8(int initialAllocation) -
BigDogArray_I8
-
-
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<byte[]>
-
arrayLength
protected int arrayLength(byte[] array) - Specified by:
arrayLength
in classBigDogArrayBase<byte[]>
-
append
public void append(byte 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(byte value) Appends a single value to the end of the array. identical toappend(byte)
.- Parameters:
value
- (Input) The new value which is to be added
-
resize
public void resize(int desiredSize, byte 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, byte 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, byte 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, byte 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, byte[] 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 byte 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 byte 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
-