Package com.ibm.icu.util
Class CompactCharArray
- java.lang.Object
-
- com.ibm.icu.util.CompactCharArray
-
- All Implemented Interfaces:
java.lang.Cloneable
@Deprecated public final class CompactCharArray extends java.lang.Object implements java.lang.Cloneable
Deprecated.This API is ICU internal only.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.
- See Also:
CompactByteArray
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
BLOCKCOUNT
Deprecated.(package private) static int
BLOCKMASK
Deprecated.static int
BLOCKSHIFT
Deprecated.This API is ICU internal only.(package private) char
defaultValue
Deprecated.private int[]
hashes
Deprecated.(package private) static int
INDEXCOUNT
Deprecated.(package private) static int
INDEXSHIFT
Deprecated.private char[]
indices
Deprecated.private boolean
isCompact
Deprecated.static int
UNICODECOUNT
Deprecated.This API is ICU internal only.private char[]
values
Deprecated.
-
Constructor Summary
Constructors Constructor Description CompactCharArray()
Deprecated.This API is ICU internal only.CompactCharArray(char defaultValue)
Deprecated.This API is ICU internal only.CompactCharArray(char[] indexArray, char[] newValues)
Deprecated.This API is ICU internal only.CompactCharArray(java.lang.String indexArray, java.lang.String valueArray)
Deprecated.This API is ICU internal only.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description (package private) static boolean
arrayRegionMatches(char[] source, int sourceStart, char[] target, int targetStart, int len)
Deprecated.Convenience utility to compare two arrays of doubles.private boolean
blockTouched(int i)
Deprecated.Query whether a specified block was "touched", i.e.java.lang.Object
clone()
Deprecated.This API is ICU internal only.void
compact()
Deprecated.This API is ICU internal only.void
compact(boolean exhaustive)
Deprecated.This API is ICU internal only.char
elementAt(char index)
Deprecated.This API is ICU internal only.boolean
equals(java.lang.Object obj)
Deprecated.This API is ICU internal only.private void
expand()
Deprecated.Expanding takes the array back to a 65536 element array.private int
FindOverlappingPosition(int start, char[] tempValues, int tempCount)
Deprecated.char[]
getIndexArray()
Deprecated.This API is ICU internal only.char[]
getValueArray()
Deprecated.This API is ICU internal only.int
hashCode()
Deprecated.This API is ICU internal only.void
setElementAt(char index, char value)
Deprecated.This API is ICU internal only.void
setElementAt(char start, char end, char value)
Deprecated.This API is ICU internal only.private void
touchBlock(int i, int value)
Deprecated.Remember that a specified block was "touched", i.e.
-
-
-
Field Detail
-
UNICODECOUNT
@Deprecated public static final int UNICODECOUNT
Deprecated.This API is ICU internal only.The total number of Unicode characters.- See Also:
- Constant Field Values
-
BLOCKSHIFT
@Deprecated public static final int BLOCKSHIFT
Deprecated.This API is ICU internal only.- See Also:
- Constant Field Values
-
BLOCKCOUNT
static final int BLOCKCOUNT
Deprecated.- See Also:
- Constant Field Values
-
INDEXSHIFT
static final int INDEXSHIFT
Deprecated.- See Also:
- Constant Field Values
-
INDEXCOUNT
static final int INDEXCOUNT
Deprecated.- See Also:
- Constant Field Values
-
BLOCKMASK
static final int BLOCKMASK
Deprecated.- See Also:
- Constant Field Values
-
values
private char[] values
Deprecated.
-
indices
private char[] indices
Deprecated.
-
hashes
private int[] hashes
Deprecated.
-
isCompact
private boolean isCompact
Deprecated.
-
defaultValue
char defaultValue
Deprecated.
-
-
Constructor Detail
-
CompactCharArray
@Deprecated public CompactCharArray()
Deprecated.This API is ICU internal only.Default constructor for CompactCharArray, the default value of the compact array is 0.
-
CompactCharArray
@Deprecated public CompactCharArray(char defaultValue)
Deprecated.This API is ICU internal only.Constructor for CompactCharArray.- Parameters:
defaultValue
- the default value of the compact array.
-
CompactCharArray
@Deprecated public CompactCharArray(char[] indexArray, char[] newValues)
Deprecated.This API is ICU internal only.Constructor for CompactCharArray.- Parameters:
indexArray
- the indices of the compact array.newValues
- the values of the compact array.- Throws:
java.lang.IllegalArgumentException
- If the index is out of range.
-
CompactCharArray
@Deprecated public CompactCharArray(java.lang.String indexArray, java.lang.String valueArray)
Deprecated.This API is ICU internal only.Constructor for CompactCharArray.- Parameters:
indexArray
- the RLE-encoded indices of the compact array.valueArray
- the RLE-encoded values of the compact array.- Throws:
java.lang.IllegalArgumentException
- if the index or value array is the wrong size.
-
-
Method Detail
-
elementAt
@Deprecated public char elementAt(char index)
Deprecated.This API is ICU internal only.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
-
setElementAt
@Deprecated public void setElementAt(char index, char value)
Deprecated.This API is ICU internal only.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 withvalue
- the new mapped value
-
setElementAt
@Deprecated public void setElementAt(char start, char end, char value)
Deprecated.This API is ICU internal only.Set new values for a range of Unicode character.- Parameters:
start
- the starting offset of the rangeend
- the ending offset of the rangevalue
- the new mapped value
-
compact
@Deprecated public void compact()
Deprecated.This API is ICU internal only.Compact the array
-
compact
@Deprecated public void compact(boolean exhaustive)
Deprecated.This API is ICU internal only.Compact the array.
-
FindOverlappingPosition
private int FindOverlappingPosition(int start, char[] tempValues, int tempCount)
Deprecated.
-
arrayRegionMatches
static final boolean arrayRegionMatches(char[] source, int sourceStart, char[] target, int targetStart, int len)
Deprecated.Convenience utility to compare two arrays of doubles.- Parameters:
len
- the length to compare. The start indices and start+len must be valid.
-
touchBlock
private final void touchBlock(int i, int value)
Deprecated.Remember that a specified block was "touched", i.e. had a value set. Untouched blocks can be skipped when compacting the array
-
blockTouched
private final boolean blockTouched(int i)
Deprecated.Query whether a specified block was "touched", i.e. had a value set. Untouched blocks can be skipped when compacting the array
-
getIndexArray
@Deprecated public char[] getIndexArray()
Deprecated.This API is ICU internal only.For internal use only. Do not modify the result, the behavior of modified results are undefined.
-
getValueArray
@Deprecated public char[] getValueArray()
Deprecated.This API is ICU internal only.For internal use only. Do not modify the result, the behavior of modified results are undefined.
-
clone
@Deprecated public java.lang.Object clone()
Deprecated.This API is ICU internal only.Overrides Cloneable- Overrides:
clone
in classjava.lang.Object
-
equals
@Deprecated public boolean equals(java.lang.Object obj)
Deprecated.This API is ICU internal only.Compares the equality of two compact array objects.- Overrides:
equals
in classjava.lang.Object
- 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.
-
hashCode
@Deprecated public int hashCode()
Deprecated.This API is ICU internal only.Generates the hash code for the compact array object- Overrides:
hashCode
in classjava.lang.Object
-
expand
private void expand()
Deprecated.Expanding takes the array back to a 65536 element array.
-
-