| java.lang.Object com.ibm.icu.util.CompactCharArray
CompactCharArray | final public class CompactCharArray implements Cloneable(Code) | | 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.
A compact array is composed of a index array and value array. The index
array contains the indicies of Unicode characters to the value array.
See Also: CompactByteArray author: Helena Shih |
Constructor Summary | |
public | CompactCharArray() Default constructor for CompactCharArray, the default value of the
compact array is 0. | public | CompactCharArray(char defaultValue) Constructor for CompactCharArray. | public | CompactCharArray(char indexArray, char newValues) Constructor for CompactCharArray. | public | CompactCharArray(String indexArray, String valueArray) Constructor for CompactCharArray. |
Method Summary | |
final static boolean | arrayRegionMatches(char[] source, int sourceStart, char[] target, int targetStart, int len) Convenience utility to compare two arrays of doubles. | public Object | clone() | public void | compact() | public void | compact(boolean exhaustive) Compact the array. | public char | elementAt(char index) Get the mapped value of a Unicode character. | public boolean | equals(Object obj) Compares the equality of two compact array objects.
Parameters: obj - the compact array object to be compared with this. | public char[] | getIndexArray() For internal use only. | public char[] | getValueArray() For internal use only. | public int | hashCode() | public void | setElementAt(char index, char value) Set a new value for a Unicode character. | public void | setElementAt(char start, char end, char value) Set new values for a range of Unicode character. |
BLOCKCOUNT | final static int BLOCKCOUNT(Code) | | |
BLOCKMASK | final static int BLOCKMASK(Code) | | |
BLOCKSHIFT | final public static int BLOCKSHIFT(Code) | | |
INDEXCOUNT | final static int INDEXCOUNT(Code) | | |
INDEXSHIFT | final static int INDEXSHIFT(Code) | | |
UNICODECOUNT | final public static int UNICODECOUNT(Code) | | The total number of Unicode characters.
|
defaultValue | char defaultValue(Code) | | |
CompactCharArray | public CompactCharArray()(Code) | | Default constructor for CompactCharArray, the default value of the
compact array is 0.
|
CompactCharArray | public CompactCharArray(char defaultValue)(Code) | | Constructor for CompactCharArray.
Parameters: defaultValue - the default value of the compact array. |
CompactCharArray | public CompactCharArray(char indexArray, char newValues)(Code) | | Constructor for CompactCharArray.
Parameters: indexArray - the indicies of the compact array. Parameters: newValues - the values of the compact array. exception: IllegalArgumentException - If the index is out of range. |
CompactCharArray | public CompactCharArray(String indexArray, String valueArray)(Code) | | Constructor for CompactCharArray.
Parameters: indexArray - the RLE-encoded indicies of the compact array. Parameters: valueArray - the RLE-encoded values of the compact array. throws: IllegalArgumentException - if the index or value array isthe wrong size. |
arrayRegionMatches | final static boolean arrayRegionMatches(char[] source, int sourceStart, char[] target, int targetStart, int len)(Code) | | Convenience utility to compare two arrays of doubles.
Parameters: len - the length to compare.The start indices and start+len must be valid. |
compact | public void compact()(Code) | | Compact the array
|
compact | public void compact(boolean exhaustive)(Code) | | Compact the array.
|
elementAt | public char elementAt(char index)(Code) | | Get the mapped value of a Unicode character.
Parameters: index - the character to get the mapped value with the mapped value of the given character |
equals | public boolean equals(Object obj)(Code) | | Compares the equality of two compact array objects.
Parameters: obj - the compact array object to be compared with this. true if the current compact array object is the sameas the compact array object obj; false otherwise. |
getIndexArray | public char[] getIndexArray()(Code) | | For internal use only. Do not modify the result, the behavior of
modified results are undefined.
|
getValueArray | public char[] getValueArray()(Code) | | For internal use only. Do not modify the result, the behavior of
modified results are undefined.
|
hashCode | public int hashCode()(Code) | | Generates the hash code for the compact array object
|
setElementAt | public void setElementAt(char index, char value)(Code) | | 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 with Parameters: value - the new mapped value |
setElementAt | public void setElementAt(char start, char end, char value)(Code) | | Set new values for a range of Unicode character.
Parameters: start - the starting offset of the range Parameters: end - the ending offset of the range Parameters: value - the new mapped value |
|
|