Package com.ibm.icu.util
Class CompactCharArray
java.lang.Object
com.ibm.icu.util.CompactCharArray
- All Implemented Interfaces:
Cloneable
Deprecated.
This API is ICU internal only.
class CompactATypeArray : use only on primitive data types
Provides a compact way to store information that is indexed by Unicode
values, such as character properties, types, keyboard values, etc.This
is very useful when you have a block of Unicode data that contains
significant values while the rest of the Unicode data is unused in the
application or when you have a lot of redundance, such as where all 21,000
Han ideographs have the same value. However, lookup is much faster than a
hash table.
A compact array of any primitive data type serves two purposes:
- Fast access of the indexed values.
- Smaller memory footprint.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final int
Deprecated.(package private) static final int
Deprecated.static final int
Deprecated.This API is ICU internal only.(package private) char
Deprecated.private int[]
Deprecated.(package private) static final int
Deprecated.(package private) static final int
Deprecated.private char[]
Deprecated.private boolean
Deprecated.static final int
Deprecated.This API is ICU internal only.private char[]
Deprecated. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.This API is ICU internal only.CompactCharArray
(char defaultValue) Deprecated.This API is ICU internal only.CompactCharArray
(char[] indexArray, char[] newValues) Deprecated.This API is ICU internal only.CompactCharArray
(String indexArray, String valueArray) Deprecated.This API is ICU internal only. -
Method Summary
Modifier and TypeMethodDescription(package private) static final boolean
arrayRegionMatches
(char[] source, int sourceStart, char[] target, int targetStart, int len) Deprecated.Convenience utility to compare two arrays of doubles.private final boolean
blockTouched
(int i) Deprecated.Query whether a specified block was "touched", i.e.clone()
Deprecated.This API is ICU internal only.void
compact()
Deprecated.This API is ICU internal only.void
compact
(boolean exhaustive) Deprecated.This API is ICU internal only.char
elementAt
(char index) Deprecated.This API is ICU internal only.boolean
Deprecated.This API is ICU internal only.private void
expand()
Deprecated.Expanding takes the array back to a 65536 element array.private int
FindOverlappingPosition
(int start, char[] tempValues, int tempCount) Deprecated.char[]
Deprecated.This API is ICU internal only.char[]
Deprecated.This API is ICU internal only.int
hashCode()
Deprecated.This API is ICU internal only.void
setElementAt
(char index, char value) Deprecated.This API is ICU internal only.void
setElementAt
(char start, char end, char value) Deprecated.This API is ICU internal only.private final void
touchBlock
(int i, int value) Deprecated.Remember that a specified block was "touched", i.e.
-
Field Details
-
UNICODECOUNT
Deprecated.This API is ICU internal only.The total number of Unicode characters.- See Also:
-
BLOCKSHIFT
Deprecated.This API is ICU internal only.- See Also:
-
BLOCKCOUNT
static final int BLOCKCOUNTDeprecated.- See Also:
-
INDEXSHIFT
static final int INDEXSHIFTDeprecated.- See Also:
-
INDEXCOUNT
static final int INDEXCOUNTDeprecated.- See Also:
-
BLOCKMASK
static final int BLOCKMASKDeprecated.- See Also:
-
values
private char[] valuesDeprecated. -
indices
private char[] indicesDeprecated. -
hashes
private int[] hashesDeprecated. -
isCompact
private boolean isCompactDeprecated. -
defaultValue
char defaultValueDeprecated.
-
-
Constructor Details
-
CompactCharArray
Deprecated.This API is ICU internal only.Default constructor for CompactCharArray, the default value of the compact array is 0. -
CompactCharArray
Deprecated.This API is ICU internal only.Constructor for CompactCharArray.- Parameters:
defaultValue
- the default value of the compact array.
-
CompactCharArray
Deprecated.This API is ICU internal only.Constructor for CompactCharArray.- Parameters:
indexArray
- the indices of the compact array.newValues
- the values of the compact array.- Throws:
IllegalArgumentException
- If the index is out of range.
-
CompactCharArray
Deprecated.This API is ICU internal only.Constructor for CompactCharArray.- Parameters:
indexArray
- the RLE-encoded indices of the compact array.valueArray
- the RLE-encoded values of the compact array.- Throws:
IllegalArgumentException
- if the index or value array is the wrong size.
-
-
Method Details
-
elementAt
Deprecated.This API is ICU internal only.Get the mapped value of a Unicode character.- Parameters:
index
- the character to get the mapped value with- Returns:
- the mapped value of the given character
-
setElementAt
Deprecated.This API is ICU internal only.Set a new value for a Unicode character. Set automatically expands the array if it is compacted.- Parameters:
index
- the character to set the mapped value withvalue
- the new mapped value
-
setElementAt
Deprecated.This API is ICU internal only.Set new values for a range of Unicode character.- Parameters:
start
- the starting offset of the rangeend
- the ending offset of the rangevalue
- the new mapped value
-
compact
Deprecated.This API is ICU internal only.Compact the array -
compact
Deprecated.This API is ICU internal only.Compact the array. -
FindOverlappingPosition
private int FindOverlappingPosition(int start, char[] tempValues, int tempCount) Deprecated. -
arrayRegionMatches
static final boolean arrayRegionMatches(char[] source, int sourceStart, char[] target, int targetStart, int len) Deprecated.Convenience utility to compare two arrays of doubles.- Parameters:
len
- the length to compare. The start indices and start+len must be valid.
-
touchBlock
private final void touchBlock(int i, int value) Deprecated.Remember that a specified block was "touched", i.e. had a value set. Untouched blocks can be skipped when compacting the array -
blockTouched
private final boolean blockTouched(int i) Deprecated.Query whether a specified block was "touched", i.e. had a value set. Untouched blocks can be skipped when compacting the array -
getIndexArray
Deprecated.This API is ICU internal only.For internal use only. Do not modify the result, the behavior of modified results are undefined. -
getValueArray
Deprecated.This API is ICU internal only.For internal use only. Do not modify the result, the behavior of modified results are undefined. -
clone
Deprecated.This API is ICU internal only.Overrides Cloneable -
equals
Deprecated.This API is ICU internal only.Compares the equality of two compact array objects. -
hashCode
Deprecated.This API is ICU internal only.Generates the hash code for the compact array object -
expand
private void expand()Deprecated.Expanding takes the array back to a 65536 element array.
-