public final class BoundedProportionalArraySizingStrategy extends java.lang.Object implements ArraySizingStrategy
ArrayList uses:
minGrow = 1 maxGrow = Integer.MAX_VALUE (unbounded) growRatio = 1.5f
| Modifier and Type | Field and Description |
|---|---|
static float |
DEFAULT_GROW_RATIO
Default resize is by half the current buffer's size.
|
static int |
DEFAULT_MAX_GROW_COUNT
Maximum grow count (unbounded).
|
static int |
DEFAULT_MIN_GROW_COUNT
Minimum grow count.
|
float |
growRatio
The current buffer length is multiplied by this ratio to get the
first estimate for the new size.
|
static int |
MAX_ARRAY_SIZE
Used by
ArrayList internally to account for reference sizes. |
int |
maxGrowCount
Maximum number of elements to grow, if capacity exceeded.
|
int |
minGrowCount
Minimum number of elements to grow, if capacity exceeded.
|
| Constructor and Description |
|---|
BoundedProportionalArraySizingStrategy()
Create the default sizing strategy.
|
BoundedProportionalArraySizingStrategy(int minGrow,
int maxGrow,
float ratio)
Create the sizing strategy with custom policies.
|
public static final int MAX_ARRAY_SIZE
ArrayList internally to account for reference sizes.public static final int DEFAULT_MIN_GROW_COUNT
public static final int DEFAULT_MAX_GROW_COUNT
public static final float DEFAULT_GROW_RATIO
public final int minGrowCount
public final int maxGrowCount
public final float growRatio
2.public BoundedProportionalArraySizingStrategy()
public BoundedProportionalArraySizingStrategy(int minGrow,
int maxGrow,
float ratio)
public int grow(int currentBufferLength,
int elementsCount,
int expectedAdditions)
grow in interface ArraySizingStrategycurrentBufferLength - Current size of the array (buffer). This number
should comply with the strategy's policies (it is a result of initial rounding
or further growths). It can also be zero, indicating the growth from an empty
buffer.elementsCount - Number of elements stored in the buffer.expectedAdditions - Expected number of additions (resize hint).elementsCount + expectedAdditions.public int round(int capacity)
round in interface ArraySizingStrategyCopyright © 2014 Carrot Search s.c.. All rights reserved.