Package com.ibm.icu.util
Class CompactByteArray
java.lang.Object
com.ibm.icu.util.CompactByteArray
- 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 TypeFieldDescriptionprivate static final int
Deprecated.private static final int
Deprecated.private static final int
Deprecated.(package private) byte
Deprecated.private int[]
Deprecated.private static final int
Deprecated.private static final int
Deprecated.private char[]
Deprecated.private boolean
Deprecated.static final int
Deprecated.This API is ICU internal only.private byte[]
Deprecated. -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.This API is ICU internal only.CompactByteArray
(byte defaultValue) Deprecated.This API is ICU internal only.CompactByteArray
(char[] indexArray, byte[] newValues) Deprecated.This API is ICU internal only.CompactByteArray
(String indexArray, String valueArray) Deprecated.This API is ICU internal only. -
Method Summary
Modifier and TypeMethodDescription(package private) static final boolean
arrayRegionMatches
(byte[] source, int sourceStart, byte[] 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.byte
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.char[]
Deprecated.This API is ICU internal only.byte[]
Deprecated.This API is ICU internal only.int
hashCode()
Deprecated.This API is ICU internal only.void
setElementAt
(char index, byte value) Deprecated.This API is ICU internal only.void
setElementAt
(char start, char end, byte 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
private static final int BLOCKSHIFTDeprecated.- See Also:
-
BLOCKCOUNT
private static final int BLOCKCOUNTDeprecated.- See Also:
-
INDEXSHIFT
private static final int INDEXSHIFTDeprecated.- See Also:
-
INDEXCOUNT
private static final int INDEXCOUNTDeprecated.- See Also:
-
BLOCKMASK
private static final int BLOCKMASKDeprecated.- See Also:
-
values
private byte[] valuesDeprecated. -
indices
private char[] indicesDeprecated. -
hashes
private int[] hashesDeprecated. -
isCompact
private boolean isCompactDeprecated. -
defaultValue
byte defaultValueDeprecated.
-
-
Constructor Details
-
CompactByteArray
Deprecated.This API is ICU internal only.Default constructor for CompactByteArray, the default value of the compact array is 0. -
CompactByteArray
Deprecated.This API is ICU internal only.Constructor for CompactByteArray.- Parameters:
defaultValue
- the default value of the compact array.
-
CompactByteArray
Deprecated.This API is ICU internal only.Constructor for CompactByteArray.- Parameters:
indexArray
- the indices of the compact array.newValues
- the values of the compact array.- Throws:
IllegalArgumentException
- If the index is out of range.
-
CompactByteArray
Deprecated.This API is ICU internal only.Constructor for CompactByteArray.- 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. -
arrayRegionMatches
static final boolean arrayRegionMatches(byte[] source, int sourceStart, byte[] 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.
-