public final class

CompactByteArray

extends Object
implements Cloneable
java.lang.Object
   ↳ sun.text.CompactByteArray

Class Overview

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
  • CompactShortArray

Summary

Constants
int UNICODECOUNT The total number of Unicode characters.
Public Constructors
CompactByteArray(byte defaultValue)
Constructor for CompactByteArray.
CompactByteArray(short[] indexArray, byte[] newValues)
Constructor for CompactByteArray.
Public Methods
Object clone()
Overrides Cloneable
void compact()
Compact the array.
byte elementAt(char index)
Get the mapped value of a Unicode character.
boolean equals(Object obj)
Compares the equality of two compact array objects.
short[] getIndexArray()
For internal use only.
byte[] getStringArray()
For internal use only.
int hashCode()
Generates the hash code for the compact array object
void setElementAt(char index, byte value)
Set a new value for a Unicode character.
void setElementAt(char start, char end, byte value)
Set new values for a range of Unicode character.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int UNICODECOUNT

The total number of Unicode characters.

Constant Value: 65536 (0x00010000)

Public Constructors

public CompactByteArray (byte defaultValue)

Constructor for CompactByteArray.

Parameters
defaultValue the default value of the compact array.

public CompactByteArray (short[] indexArray, byte[] newValues)

Constructor for CompactByteArray.

Parameters
indexArray the indicies of the compact array.
newValues the values of the compact array.
Throws
IllegalArgumentException If index is out of range.

Public Methods

public Object clone ()

Overrides Cloneable

Returns
  • a clone of this instance.

public void compact ()

Compact the array.

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

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.

public short[] getIndexArray ()

For internal use only. Do not modify the result, the behavior of modified results are undefined.

public byte[] getStringArray ()

For internal use only. Do not modify the result, the behavior of modified results are undefined.

public int hashCode ()

Generates the hash code for the compact array object

Returns
  • a hash code value for this object.

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

public void setElementAt (char start, char end, byte value)

Set new values for a range of Unicode character.

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