com.ibm.icu.util

Class CompactByteArray

public final class CompactByteArray 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: CompactCharArray

UNKNOWN:

Field Summary
static intUNICODECOUNT
The total number of Unicode characters.
Constructor Summary
CompactByteArray()
Default constructor for CompactByteArray, the default value of the compact array is 0.
CompactByteArray(byte defaultValue)
Constructor for CompactByteArray.
CompactByteArray(char[] indexArray, byte[] newValues)
Constructor for CompactByteArray.
CompactByteArray(String indexArray, String valueArray)
Constructor for CompactByteArray.
Method Summary
Objectclone()
Overrides Cloneable
voidcompact()
Compact the array.
voidcompact(boolean exhaustive)
Compact the array.
byteelementAt(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.
byte[]getValueArray()
For internal use only.
inthashCode()
Generates the hash code for the compact array object
voidsetElementAt(char index, byte value)
Set a new value for a Unicode character.
voidsetElementAt(char start, char end, byte value)
Set new values for a range of Unicode character.

Field Detail

UNICODECOUNT

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

UNKNOWN:

Constructor Detail

CompactByteArray

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

UNKNOWN:

CompactByteArray

public CompactByteArray(byte defaultValue)
Constructor for CompactByteArray.

Parameters: defaultValue the default value of the compact array.

UNKNOWN:

CompactByteArray

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

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:

CompactByteArray

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

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 byte 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 byte[] 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, byte 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, byte 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:

Copyright (c) 2006 IBM Corporation and others.