Class CompactByteArray

  • All Implemented Interfaces:
    java.lang.Cloneable

    @Deprecated
    public final class CompactByteArray
    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:
    CompactCharArray
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static int BLOCKCOUNT
      Deprecated.
       
      private static int BLOCKMASK
      Deprecated.
       
      private static int BLOCKSHIFT
      Deprecated.
       
      (package private) byte defaultValue
      Deprecated.
       
      private int[] hashes
      Deprecated.
       
      private static int INDEXCOUNT
      Deprecated.
       
      private static int INDEXSHIFT
      Deprecated.
       
      private char[] indices
      Deprecated.
       
      private boolean isCompact
      Deprecated.
       
      static int UNICODECOUNT
      Deprecated.
      This API is ICU internal only.
      private byte[] values
      Deprecated.
       
    • Constructor Summary

      Constructors 
      Constructor Description
      CompactByteArray()
      Deprecated.
      This API is ICU internal only.
      CompactByteArray​(byte defaultValue)
      Deprecated.
      This API is ICU internal only.
      CompactByteArray​(char[] indexArray, byte[] newValues)
      Deprecated.
      This API is ICU internal only.
      CompactByteArray​(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​(byte[] source, int sourceStart, byte[] 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.
      byte 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.
      char[] getIndexArray()
      Deprecated.
      This API is ICU internal only.
      byte[] getValueArray()
      Deprecated.
      This API is ICU internal only.
      int hashCode()
      Deprecated.
      This API is ICU internal only.
      void setElementAt​(char index, byte value)
      Deprecated.
      This API is ICU internal only.
      void setElementAt​(char start, char end, byte 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
      • values

        private byte[] values
        Deprecated.
      • indices

        private char[] indices
        Deprecated.
      • hashes

        private int[] hashes
        Deprecated.
      • isCompact

        private boolean isCompact
        Deprecated.
      • defaultValue

        byte defaultValue
        Deprecated.
    • Constructor Detail

      • CompactByteArray

        @Deprecated
        public CompactByteArray()
        Deprecated.
        This API is ICU internal only.
        Default constructor for CompactByteArray, the default value of the compact array is 0.
      • CompactByteArray

        @Deprecated
        public CompactByteArray​(byte defaultValue)
        Deprecated.
        This API is ICU internal only.
        Constructor for CompactByteArray.
        Parameters:
        defaultValue - the default value of the compact array.
      • CompactByteArray

        @Deprecated
        public CompactByteArray​(char[] indexArray,
                                byte[] newValues)
        Deprecated.
        This API is ICU internal only.
        Constructor for CompactByteArray.
        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.
      • CompactByteArray

        @Deprecated
        public CompactByteArray​(java.lang.String indexArray,
                                java.lang.String valueArray)
        Deprecated.
        This API is ICU internal only.
        Constructor for CompactByteArray.
        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 byte 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,
                                 byte 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,
                                 byte 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.
      • arrayRegionMatches

        static final boolean arrayRegionMatches​(byte[] source,
                                                int sourceStart,
                                                byte[] 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 byte[] 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.