Class 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.
    A compact array is composed of a index array and value array. The index array contains the indices of Unicode characters to the value array.
    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.
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • 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
      • 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 with
        value - 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 range
        end - the ending offset of the range
        value - 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 class java.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 class java.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 class java.lang.Object
      • expand

        private void expand()
        Deprecated.
        Expanding takes the array back to a 65536 element array.