| java.lang.Object sun.text.CompactByteArray
CompactByteArray | final public class CompactByteArray 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: CompactIntArray See Also: CompactShortArray version: 1.22 10/10/06 author: Helena Shih |
Field Summary | |
final public static int | UNICODECOUNT The total number of Unicode characters. |
Constructor Summary | |
public | CompactByteArray() Default constructor for CompactByteArray, the default value of the
compact array is 0. | public | CompactByteArray(byte defaultValue) Constructor for CompactByteArray. | public | CompactByteArray(short indexArray, byte newValues) Constructor for CompactByteArray. | public | CompactByteArray(String indexArray, String valueArray) Constructor for CompactByteArray. |
Method Summary | |
final static boolean | arrayRegionMatches(byte[] source, int sourceStart, byte[] target, int targetStart, int len) Convenience utility to compare two arrays of doubles. | public Object | clone() | public void | compact() Compact the array. | public byte | 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 short | getIndexArray() For internal use only. | public byte | getStringArray() For internal use only. | public int | hashCode() | public void | setElementAt(char index, byte value) Set a new value for a Unicode character. | public void | setElementAt(char start, char end, byte value) Set new values for a range of Unicode character. |
UNICODECOUNT | final public static int UNICODECOUNT(Code) | | The total number of Unicode characters.
|
CompactByteArray | public CompactByteArray()(Code) | | Default constructor for CompactByteArray, the default value of the
compact array is 0.
|
CompactByteArray | public CompactByteArray(byte defaultValue)(Code) | | Constructor for CompactByteArray.
Parameters: defaultValue - the default value of the compact array. |
CompactByteArray | public CompactByteArray(short indexArray, byte newValues)(Code) | | Constructor for CompactByteArray.
Parameters: indexArray - the indicies of the compact array. Parameters: newValues - the values of the compact array. exception: IllegalArgumentException - If index is out of range. |
CompactByteArray | public CompactByteArray(String indexArray, String valueArray)(Code) | | Constructor for CompactByteArray.
Parameters: indexArray - the RLE-encoded indicies of the compact array. Parameters: valueArray - the RLE-encoded values of the compact array. exception: IllegalArgumentException - If index is out of range. |
arrayRegionMatches | final static boolean arrayRegionMatches(byte[] source, int sourceStart, byte[] 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.
|
elementAt | public byte 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 short getIndexArray()(Code) | | For internal use only. Do not modify the result, the behavior of
modified results are undefined.
|
getStringArray | public byte getStringArray()(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, byte 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, byte value)(Code) | | Set new values for a range of Unicode character.
Parameters: start - the starting offset o of the range Parameters: end - the ending offset of the range Parameters: value - the new mapped value |
|
|