| java.lang.Object sun.text.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 See Also: CompactIntArray See Also: CompactShortArray version: 1.16 11/28/00 author: Helena Shih |
Field Summary | |
final public static int | UNICODECOUNT The total number of Unicode characters. |
Constructor Summary | |
public | CompactCharArray() Default constructor for CompactCharArray, the default value of the
compact array is '\u0000'. | public | CompactCharArray(char defaultValue) Contructor for CompactCharArray. | public | CompactCharArray(String indexArray, String valueArray) Constructor for CompactCharArray. | public | CompactCharArray(char indexArray, char newValues) 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() 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[] | getStringArray() 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. |
UNICODECOUNT | final public static int UNICODECOUNT(Code) | | The total number of Unicode characters.
|
CompactCharArray | public CompactCharArray()(Code) | | Default constructor for CompactCharArray, the default value of the
compact array is '\u0000'.
|
CompactCharArray | public CompactCharArray(char defaultValue)(Code) | | Contructor for CompactCharArray.
Parameters: defaultValue - the default value of the compact array. |
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. |
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. |
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.
|
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.
|
getStringArray | public char[] 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, 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 endding offset of the range Parameters: value - the new mapped value |
|
|