com.ibm.icu.util

Class CompactCharArray

public final class CompactCharArray extends Object implements Cloneable

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: 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.

Author: Helena Shih

See Also: CompactByteArray

UNKNOWN:

Field Summary
static intBLOCKSHIFT
static intUNICODECOUNT
The total number of Unicode characters.
Constructor Summary
CompactCharArray()
Default constructor for CompactCharArray, the default value of the compact array is 0.
CompactCharArray(char defaultValue)
Constructor for CompactCharArray.
CompactCharArray(char[] indexArray, char[] newValues)
Constructor for CompactCharArray.
CompactCharArray(String indexArray, String valueArray)
Constructor for CompactCharArray.
Method Summary
Objectclone()
Overrides Cloneable
voidcompact()
Compact the array
voidcompact(boolean exhaustive)
Compact the array.
charelementAt(char index)
Get the mapped value of a Unicode character.
booleanequals(Object obj)
Compares the equality of two compact array objects.
char[]getIndexArray()
For internal use only.
char[]getValueArray()
For internal use only.
inthashCode()
Generates the hash code for the compact array object
voidsetElementAt(char index, char value)
Set a new value for a Unicode character.
voidsetElementAt(char start, char end, char value)
Set new values for a range of Unicode character.

Field Detail

BLOCKSHIFT

public static final int BLOCKSHIFT

UNKNOWN:

UNICODECOUNT

public static final int UNICODECOUNT
The total number of Unicode characters.

UNKNOWN:

Constructor Detail

CompactCharArray

public CompactCharArray()
Default constructor for CompactCharArray, the default value of the compact array is 0.

UNKNOWN:

CompactCharArray

public CompactCharArray(char defaultValue)
Constructor for CompactCharArray.

Parameters: defaultValue the default value of the compact array.

UNKNOWN:

CompactCharArray

public CompactCharArray(char[] indexArray, char[] newValues)
Constructor for CompactCharArray.

Parameters: indexArray the indicies of the compact array. newValues the values of the compact array.

Throws: IllegalArgumentException If the index is out of range.

UNKNOWN:

CompactCharArray

public CompactCharArray(String indexArray, String valueArray)
Constructor for CompactCharArray.

Parameters: indexArray the RLE-encoded indicies 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.

UNKNOWN:

Method Detail

clone

public Object clone()
Overrides Cloneable

UNKNOWN:

compact

public void compact()
Compact the array

UNKNOWN:

compact

public void compact(boolean exhaustive)
Compact the array.

UNKNOWN:

elementAt

public char elementAt(char index)
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

UNKNOWN:

equals

public boolean equals(Object obj)
Compares the equality of two compact array objects.

Parameters: obj the compact array object to be compared with this.

Returns: true if the current compact array object is the same as the compact array object obj; false otherwise.

UNKNOWN:

getIndexArray

public char[] getIndexArray()
For internal use only. Do not modify the result, the behavior of modified results are undefined.

UNKNOWN:

getValueArray

public char[] getValueArray()
For internal use only. Do not modify the result, the behavior of modified results are undefined.

UNKNOWN:

hashCode

public int hashCode()
Generates the hash code for the compact array object

UNKNOWN:

setElementAt

public void setElementAt(char index, char value)
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 value the new mapped value

UNKNOWN:

setElementAt

public void setElementAt(char start, char end, char value)
Set new values for a range of Unicode character.

Parameters: start the starting offset of the range end the ending offset of the range value the new mapped value

UNKNOWN: