com.ibm.icu.util
Class CompactCharArray
- Cloneable
public final class CompactCharArray
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:
- 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.
CompactCharArray() - Default constructor for CompactCharArray, the default value of the
compact array is 0.
|
CompactCharArray(String indexArray, String valueArray) - Constructor for CompactCharArray.
|
CompactCharArray(char defaultValue) - Constructor for CompactCharArray.
|
CompactCharArray(indexArray[] , newValues[] ) - Constructor for CompactCharArray.
|
Object | clone() - Overrides Cloneable
|
void | compact() - Compact the array
|
void | compact(boolean exhaustive) - Compact the array.
|
char | elementAt(char index) - Get the mapped value of a Unicode character.
|
boolean | equals(Object obj) - Compares the equality of two compact array objects.
|
char[] | getIndexArray() - For internal use only.
|
char[] | getValueArray() - For internal use only.
|
int | hashCode() - Generates the hash code for the compact array object
|
void | setElementAt(char index, char value) - Set a new value for a Unicode character.
|
void | setElementAt(char start, char end, char value) - Set new values for a range of Unicode character.
|
BLOCKSHIFT
public static final int BLOCKSHIFT
UNICODECOUNT
public static final int UNICODECOUNT
The total number of Unicode characters.
CompactCharArray
public CompactCharArray()
Default constructor for CompactCharArray, the default value of the
compact array is 0.
CompactCharArray
public CompactCharArray(String indexArray,
String valueArray)
Constructor for CompactCharArray.
indexArray
- the RLE-encoded indicies of the compact array.valueArray
- the RLE-encoded values of the compact array.
CompactCharArray
public CompactCharArray(char defaultValue)
Constructor for CompactCharArray.
defaultValue
- the default value of the compact array.
CompactCharArray
public CompactCharArray(indexArray[] ,
newValues[] )
Constructor for CompactCharArray.
clone
public Object clone()
Overrides Cloneable
compact
public void compact()
Compact the array
compact
public void compact(boolean exhaustive)
Compact the array.
elementAt
public char elementAt(char index)
Get the mapped value of a Unicode character.
index
- the character to get the mapped value with
- the mapped value of the given character
equals
public boolean equals(Object obj)
Compares the equality of two compact array objects.
obj
- the compact array object to be compared with this.
- true if the current compact array object is the same
as the compact array object obj; false otherwise.
getIndexArray
public char[] getIndexArray()
For internal use only. Do not modify the result, the behavior of
modified results are undefined.
getValueArray
public char[] getValueArray()
For internal use only. Do not modify the result, the behavior of
modified results are undefined.
hashCode
public int hashCode()
Generates the hash code for the compact array object
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.
index
- the character to set the mapped value withvalue
- the new mapped value
setElementAt
public void setElementAt(char start,
char end,
char value)
Set new values for a range of Unicode character.
start
- the starting offset of the rangeend
- the ending offset of the rangevalue
- the new mapped value
Copyright (c) 2006 IBM Corporation and others.