Documentation of 'org.hsqldb.lib.ArrayUtil' Java class
ArrayUtil
org.hsqldb.lib

Class ArrayUtil



  • public class ArrayUtil
    extends java.lang.Object
    Collection of static methods for operations on arrays
    Since:
    1.7.2
    • Constructor Summary

      Constructors 
      Constructor and Description
      ArrayUtil() 
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static void adjustArray(int type, java.lang.Object array, int usedElements, int index, int count)
      Moves the contents of an array to allow both addition and removal of elements.
      static boolean areAllIntIndexesAsBooleanArray(int[] arra, boolean[] arrb)
      Returns true if all indexes and no other positions are true in arrb.
      static boolean areAllIntIndexesInBooleanArray(int[] arra, boolean[] arrb) 
      static boolean areEqual(int[] arra, int[] arrb, int count, boolean full)
      For full == true returns true if arra and arrb are identical (have the same length and contain the same integers in the same sequence).
      static boolean areEqualSets(int[] arra, int[] arrb)
      Returns true if arra and arrb contain the same set of integers, not necessarily in the same order.
      static int[] arraySlice(int[] source, int start, int count)
      Returns a range of elements of source from start to end of the array.
      static int[] booleanArrayToIntIndexes(boolean[] arrb)
      Set elements of arrb true if their indexes appear in arrb.
      static char[] byteArrayToChars(byte[] bytes) 
      static char[] byteArrayToChars(byte[] bytes, int bytesLength) 
      static byte[] charArrayToBytes(char[] chars) 
      static byte[] charArrayToBytes(char[] chars, int length) 
      static void clearArray(int type, java.lang.Object data, int from, int to)
      Clears an area of the given array of the given type.
      static int[] commonElements(int[] arra, int[] arrb)
      Returns an int[] containing elements shared between the two arrays arra and arrb.
      static int compare(byte[] a, byte[] b)
      Compares two arrays.
      static int compare(byte[] a, int aLength, byte[] b, int bLength) 
      static boolean containsAll(int[] arra, int[] arrb)
      returns true if arra contains all elements of arrb
      static boolean containsAll(java.lang.Object[] arra, java.lang.Object[] arrb)
      returns true if arra contains all elements of arrb
      static boolean containsAllAtStart(int[] arra, int[] arrb)
      returns true if arra contains all elements of arrb at its start
      static boolean containsAllTrueElements(boolean[] arra, boolean[] arrb)
      Return true if for each true element in arrb, the corresponding element in arra is true
      static boolean containsAny(java.lang.Object[] arra, java.lang.Object[] arrb)
      returns true if arra contains any element of arrb
      static boolean containsAt(byte[] arra, int start, byte[] arrb)
      Returns true if arra from position start contains all elements of arrb in sequential order.
      static boolean containsAt(char[] arra, int start, char[] arrb)
      Returns true if arra from position start contains all elements of arrb in sequential order.
      static void copyAdjustArray(java.lang.Object source, java.lang.Object dest, java.lang.Object addition, int colindex, int adjust)
      Copies elements of source to dest.
      static void copyArray(java.lang.Object source, java.lang.Object dest, int count)
      Convenience wrapper for System.arraycopy().
      static byte[] copyBytes(byte[] source, byte[] dest, int destOffset)
      Copy the source to dest, returning dest or an enlarged array of result is larger than dest.
      static int copyBytes(long sourceOffset, byte[] source, int sourceOff, int sourceLength, long destOffset, byte[] dest, int destLength)
      Byte arrays source and dest each begin at an offset in the common space.
      static void copyMoveSegment(java.lang.Object source, java.lang.Object dest, int size, int index, int segmentSize, int destIndex) 
      static int countCommonElements(int[] arra, int[] arrb)
      Returns the number of elements shared between the two arrays containing sets.
      static int countCommonElements(java.lang.Object[] arra, int alen, java.lang.Object[] arrb) 
      static int countNonStartElementsAt(byte[] arra, int start, byte[] arrb)
      Returns the count of elements in arra from position start that are not among the elements of arrb.
      static int countSameElements(byte[] arra, int start, byte[] arrb)
      Returns the count of elements in arra from position start that are sequentially equal to the elements of arrb.
      static int countSameElements(char[] arra, int start, char[] arrb)
      Returns the count of elements in arra from position start that are sequentially equal to the elements of arrb.
      static int countStartElementsAt(byte[] arra, int start, byte[] arrb)
      Returns the count of elements in arra from position start that are among the elements of arrb.
      static int countStartIntIndexesInBooleanArray(int[] arra, boolean[] arrb)
      Return array of indexes of boolean elements that are true.
      static int countTrueElements(boolean[] arra)
      Return count of true elements in array
      static java.lang.Object duplicateArray(java.lang.Object source)
      Returns a duplicates of an array.
      static void fillArray(boolean[] array, boolean value)
      Fills the int array with a value
      static void fillArray(byte[] array, int offset, byte value)
      Fills part of the array with a value.
      static void fillArray(char[] array, int offset, char value)
      Fills part of the array with a value.
      static void fillArray(double[] array, double value)
      Fills the double array with a value
      static void fillArray(int[] array, int value)
      Fills the int array with a value
      static void fillArray(java.lang.Object[] array, java.lang.Object value)
      Fills the array with a value.
      static void fillSequence(int[] colindex) 
      static int find(byte[] arra, int start, int limit, byte[] arrb)
      Returns the index of the first occurence of arrb in arra.
      static int find(byte[] arra, int start, int limit, int b, int c)
      Returns the index of b or c in arra.
      static int find(int[] array, int value)
      Basic find for small arrays of int.
      static int find(java.lang.Object[] array, java.lang.Object object)
      Basic find for small arrays of Object.
      static int find(short[] array, int value) 
      static int find(short[] array, int value, int offset, int count) 
      static int findIn(byte[] arra, int start, int limit, byte[] byteSet)
      Returns an index into arra (or -1) where the character is in the byteSet byte array.
      static int findNot(int[] array, int value)
      Finds the first element of the array that is not equal to the given value.
      static int findNotIn(byte[] arra, int start, int limit, byte[] charset)
      Returns an index into arra (or -1) where the character is not in the charset byte array.
      static long getBinaryMultipleCeiling(long value, long unit)
      uses 2**scale form and returns a multipe of this that is larger or equal to value
      static long getBinaryNormalisedCeiling(long value, int scale)
      uses 2**scale form and returns a multipe of this that is larger or equal to value
      static int getTwoPowerFloor(int n)
      returns the largest value that is 0 or a power of 2 and is smaller or equal to n
      static boolean hasAllNull(java.lang.Object[] array, int[] columnMap) 
      static boolean hasNull(java.lang.Object[] array, int[] columnMap)
      Determines if the array has a null column for any of the positions given in the rowColMap array.
      static boolean haveCommonElement(int[] arra, int[] arrb)
      Returns true if arra and arrb share any element.
      static boolean haveEqualArrays(int[] arra, int[] arrb, int count)
      Returns true if the first count elements of arra and arrb are identical subarrays of integers
      static boolean haveEqualArrays(java.lang.Object[] arra, java.lang.Object[] arrb, int count)
      Returns true if the first count elements of arra and arrb are identical subarrays of Objects
      static boolean haveEqualSets(int[] arra, int[] arrb, int count)
      Returns true if the first count elements of arra and arrb are identical sets of integers (not necessarily in the same order).
      static void intIndexesToBooleanArray(int[] arra, boolean[] arrb)
      Set elements of arrb true if their indexes appear in arrb.
      static boolean isAnyIntIndexInBooleanArray(int[] arra, boolean[] arrb) 
      static boolean isInSortedArray(char ch, char[] array)
      Returns true if char agrument is in array.
      static boolean isTwoPower(int n, int max)
      returns true if log2 n is in the range (0, max)
      static void orBooleanArray(boolean[] source, boolean[] dest) 
      static void projectMap(int[] mainMap, int[] subMap, int[] newSubMap) 
      static void projectRow(int[] row, int[] columnMap, int[] newRow) 
      static void projectRow(java.lang.Object[] row, int[] columnMap, java.lang.Object[] newRow)
      Copies some elements of row into newRow by using columnMap as the list of indexes into row.
      static void projectRowReverse(java.lang.Object[] row, int[] columnMap, java.lang.Object[] newRow)
      As above but copies in reverse direction.
      static void reorderMaps(int[] mainMap, int[] firstMap, int[] secondMap) 
      static java.lang.Object resizeArray(java.lang.Object source, int newsize)
      Returns a new array of given size, containing as many elements of the original array as it can hold.
      static java.lang.Object resizeArrayIfDifferent(java.lang.Object source, int newsize)
      Returns the given array if newsize is the same as existing.
      static void sortArray(int[] array)
      Basic sort for small arrays of int.
      static java.lang.Object toAdjustedArray(java.lang.Object source, java.lang.Object addition, int colindex, int adjust)
      Returns an array containing the elements of parameter source, with one element removed or added.
      static int[] toAdjustedColumnArray(int[] colarr, int colindex, int adjust)
      Returns a new array with the elements in collar adjusted to reflect changes at colindex.
      static byte[] toByteArray(long hi, long lo)
      converts two longs to a byte[]
      static int[] union(int[] arra, int[] arrb)
      Returns an array that contains all the elements of the two arrays.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ArrayUtil

        public ArrayUtil()
    • Method Detail

      • clearArray

        public static void clearArray(int type,
                                      java.lang.Object data,
                                      int from,
                                      int to)
        Clears an area of the given array of the given type.
      • adjustArray

        public static void adjustArray(int type,
                                       java.lang.Object array,
                                       int usedElements,
                                       int index,
                                       int count)
        Moves the contents of an array to allow both addition and removal of elements. Used arguments must be in range.
        Parameters:
        type - class type of the array
        array - the array
        usedElements - count of elements of array in use
        index - point at which to add or remove elements
        count - number of elements to add or remove
      • sortArray

        public static void sortArray(int[] array)
        Basic sort for small arrays of int.
      • find

        public static int find(java.lang.Object[] array,
                               java.lang.Object object)
        Basic find for small arrays of Object.
      • find

        public static int find(int[] array,
                               int value)
        Basic find for small arrays of int.
      • find

        public static int find(short[] array,
                               int value)
      • find

        public static int find(short[] array,
                               int value,
                               int offset,
                               int count)
      • findNot

        public static int findNot(int[] array,
                                  int value)
        Finds the first element of the array that is not equal to the given value.
      • areEqualSets

        public static boolean areEqualSets(int[] arra,
                                           int[] arrb)
        Returns true if arra and arrb contain the same set of integers, not necessarily in the same order. This implies the arrays are of the same length.
      • areEqual

        public static boolean areEqual(int[] arra,
                                       int[] arrb,
                                       int count,
                                       boolean full)
        For full == true returns true if arra and arrb are identical (have the same length and contain the same integers in the same sequence). For full == false returns the result of haveEqualArrays(arra,arrb,count) For full == true, the array lengths must be the same as count
      • haveEqualSets

        public static boolean haveEqualSets(int[] arra,
                                            int[] arrb,
                                            int count)
        Returns true if the first count elements of arra and arrb are identical sets of integers (not necessarily in the same order).
      • haveEqualArrays

        public static boolean haveEqualArrays(int[] arra,
                                              int[] arrb,
                                              int count)
        Returns true if the first count elements of arra and arrb are identical subarrays of integers
      • haveEqualArrays

        public static boolean haveEqualArrays(java.lang.Object[] arra,
                                              java.lang.Object[] arrb,
                                              int count)
        Returns true if the first count elements of arra and arrb are identical subarrays of Objects
      • haveCommonElement

        public static boolean haveCommonElement(int[] arra,
                                                int[] arrb)
        Returns true if arra and arrb share any element.

        Used for checks for any overlap between two arrays of column indexes.

      • commonElements

        public static int[] commonElements(int[] arra,
                                           int[] arrb)
        Returns an int[] containing elements shared between the two arrays arra and arrb. The arrays contain sets (no value is repeated). Used to find the overlap between two arrays of column indexes. Ordering of the result arrays will be the same as in array a. The method assumes that each index is only listed once in the two input arrays.

        e.g.

        The arrays
        int []arra={2,11,5,8}
        int []arrb={20,8,10,11,28,12}
        will result in:
        int []arrc={11,8}
        Parameters:
        arra - int[]; first column indexes
        arrb - int[]; second column indexes
        Returns:
        int[] common indexes or null if there is no overlap.
      • countCommonElements

        public static int countCommonElements(int[] arra,
                                              int[] arrb)
        Returns the number of elements shared between the two arrays containing sets.

        Return the number of elements shared by two column index arrays. This method assumes that each of these arrays contains a set (each element index is listed only once in each index array). Otherwise the returned number will NOT represent the number of unique column indexes shared by both index array.

        Parameters:
        arra - int[]; first array of column indexes.
        arrb - int[]; second array of column indexes
        Returns:
        int; number of elements shared by a and b
      • countCommonElements

        public static int countCommonElements(java.lang.Object[] arra,
                                              int alen,
                                              java.lang.Object[] arrb)
      • countSameElements

        public static int countSameElements(byte[] arra,
                                            int start,
                                            byte[] arrb)
        Returns the count of elements in arra from position start that are sequentially equal to the elements of arrb.
      • countSameElements

        public static int countSameElements(char[] arra,
                                            int start,
                                            char[] arrb)
        Returns the count of elements in arra from position start that are sequentially equal to the elements of arrb.
      • union

        public static int[] union(int[] arra,
                                  int[] arrb)
        Returns an array that contains all the elements of the two arrays.
      • find

        public static int find(byte[] arra,
                               int start,
                               int limit,
                               byte[] arrb)
        Returns the index of the first occurence of arrb in arra. Or -1 if not found.
      • findNotIn

        public static int findNotIn(byte[] arra,
                                    int start,
                                    int limit,
                                    byte[] charset)
        Returns an index into arra (or -1) where the character is not in the charset byte array.
      • findIn

        public static int findIn(byte[] arra,
                                 int start,
                                 int limit,
                                 byte[] byteSet)
        Returns an index into arra (or -1) where the character is in the byteSet byte array.
      • find

        public static int find(byte[] arra,
                               int start,
                               int limit,
                               int b,
                               int c)
        Returns the index of b or c in arra. Or -1 if not found.
      • booleanArrayToIntIndexes

        public static int[] booleanArrayToIntIndexes(boolean[] arrb)
        Set elements of arrb true if their indexes appear in arrb.
      • intIndexesToBooleanArray

        public static void intIndexesToBooleanArray(int[] arra,
                                                    boolean[] arrb)
        Set elements of arrb true if their indexes appear in arrb.
      • countStartIntIndexesInBooleanArray

        public static int countStartIntIndexesInBooleanArray(int[] arra,
                                                             boolean[] arrb)
        Return array of indexes of boolean elements that are true.
      • orBooleanArray

        public static void orBooleanArray(boolean[] source,
                                          boolean[] dest)
      • areAllIntIndexesAsBooleanArray

        public static boolean areAllIntIndexesAsBooleanArray(int[] arra,
                                                             boolean[] arrb)
        Returns true if all indexes and no other positions are true in arrb. arra must have no duplicates.
      • areAllIntIndexesInBooleanArray

        public static boolean areAllIntIndexesInBooleanArray(int[] arra,
                                                             boolean[] arrb)
      • isAnyIntIndexInBooleanArray

        public static boolean isAnyIntIndexInBooleanArray(int[] arra,
                                                          boolean[] arrb)
      • containsAllTrueElements

        public static boolean containsAllTrueElements(boolean[] arra,
                                                      boolean[] arrb)
        Return true if for each true element in arrb, the corresponding element in arra is true
      • countTrueElements

        public static int countTrueElements(boolean[] arra)
        Return count of true elements in array
      • hasNull

        public static boolean hasNull(java.lang.Object[] array,
                                      int[] columnMap)
        Determines if the array has a null column for any of the positions given in the rowColMap array.
      • hasAllNull

        public static boolean hasAllNull(java.lang.Object[] array,
                                         int[] columnMap)
      • containsAt

        public static boolean containsAt(byte[] arra,
                                         int start,
                                         byte[] arrb)
        Returns true if arra from position start contains all elements of arrb in sequential order.
      • countStartElementsAt

        public static int countStartElementsAt(byte[] arra,
                                               int start,
                                               byte[] arrb)
        Returns the count of elements in arra from position start that are among the elements of arrb. Stops at any element not in arrb.
      • containsAt

        public static boolean containsAt(char[] arra,
                                         int start,
                                         char[] arrb)
        Returns true if arra from position start contains all elements of arrb in sequential order.
      • countNonStartElementsAt

        public static int countNonStartElementsAt(byte[] arra,
                                                  int start,
                                                  byte[] arrb)
        Returns the count of elements in arra from position start that are not among the elements of arrb.
      • copyBytes

        public static int copyBytes(long sourceOffset,
                                    byte[] source,
                                    int sourceOff,
                                    int sourceLength,
                                    long destOffset,
                                    byte[] dest,
                                    int destLength)
        Byte arrays source and dest each begin at an offset in the common space. If there is an overlap between dest and the first sourceLength elements of the source, the overlapping elements are copied to dest. Returns count of copied bytes.
      • copyBytes

        public static byte[] copyBytes(byte[] source,
                                       byte[] dest,
                                       int destOffset)
        Copy the source to dest, returning dest or an enlarged array of result is larger than dest.
      • copyArray

        public static void copyArray(java.lang.Object source,
                                     java.lang.Object dest,
                                     int count)
        Convenience wrapper for System.arraycopy().
      • copyMoveSegment

        public static void copyMoveSegment(java.lang.Object source,
                                           java.lang.Object dest,
                                           int size,
                                           int index,
                                           int segmentSize,
                                           int destIndex)
      • arraySlice

        public static int[] arraySlice(int[] source,
                                       int start,
                                       int count)
        Returns a range of elements of source from start to end of the array.
      • fillArray

        public static void fillArray(char[] array,
                                     int offset,
                                     char value)
        Fills part of the array with a value.
      • fillArray

        public static void fillArray(byte[] array,
                                     int offset,
                                     byte value)
        Fills part of the array with a value.
      • fillArray

        public static void fillArray(java.lang.Object[] array,
                                     java.lang.Object value)
        Fills the array with a value.
      • fillArray

        public static void fillArray(int[] array,
                                     int value)
        Fills the int array with a value
      • fillArray

        public static void fillArray(double[] array,
                                     double value)
        Fills the double array with a value
      • fillArray

        public static void fillArray(boolean[] array,
                                     boolean value)
        Fills the int array with a value
      • duplicateArray

        public static java.lang.Object duplicateArray(java.lang.Object source)
        Returns a duplicates of an array.
      • resizeArrayIfDifferent

        public static java.lang.Object resizeArrayIfDifferent(java.lang.Object source,
                                                              int newsize)
        Returns the given array if newsize is the same as existing. Returns a new array of given size, containing as many elements of the original array as it can hold.
      • resizeArray

        public static java.lang.Object resizeArray(java.lang.Object source,
                                                   int newsize)
        Returns a new array of given size, containing as many elements of the original array as it can hold. N.B. Always returns a new array even if newsize parameter is the same as the old size.
      • toAdjustedArray

        public static java.lang.Object toAdjustedArray(java.lang.Object source,
                                                       java.lang.Object addition,
                                                       int colindex,
                                                       int adjust)
        Returns an array containing the elements of parameter source, with one element removed or added. Parameter adjust {-1, +1} indicates the operation. Parameter colindex indicates the position at which an element is removed or added. Parameter addition is an Object to add when adjust is +1.
      • copyAdjustArray

        public static void copyAdjustArray(java.lang.Object source,
                                           java.lang.Object dest,
                                           java.lang.Object addition,
                                           int colindex,
                                           int adjust)
        Copies elements of source to dest. If adjust is -1 the element at colindex is not copied. If adjust is +1 that element is filled with the Object addition. All the rest of the elements in source are shifted left or right accordingly when they are copied. If adjust is 0 the addition is copied over the element at colindex. No checks are perfomed on array sizes and an exception is thrown if they are not consistent with the other arguments.
      • toAdjustedColumnArray

        public static int[] toAdjustedColumnArray(int[] colarr,
                                                  int colindex,
                                                  int adjust)
        Returns a new array with the elements in collar adjusted to reflect changes at colindex.

        Each element in collarr represents an index into another array otherarr.

        colindex is the index at which an element is added or removed. Each element in the result array represents the new, adjusted index.

        For each element of collarr that represents an index equal to colindex and adjust is -1, the result will not contain that element and will be shorter than collar by one element.

        Parameters:
        colarr - the source array
        colindex - index at which to perform adjustement
        adjust - +1, 0 or -1
        Returns:
        new, adjusted array
      • projectRow

        public static void projectRow(java.lang.Object[] row,
                                      int[] columnMap,
                                      java.lang.Object[] newRow)
        Copies some elements of row into newRow by using columnMap as the list of indexes into row.

        columnMap and newRow are of equal length and are normally shorter than row.

        Parameters:
        row - the source array
        columnMap - the list of indexes into row
        newRow - the destination array
      • projectRow

        public static void projectRow(int[] row,
                                      int[] columnMap,
                                      int[] newRow)
      • projectRowReverse

        public static void projectRowReverse(java.lang.Object[] row,
                                             int[] columnMap,
                                             java.lang.Object[] newRow)
        As above but copies in reverse direction.

        Parameters:
        row - the target array
        columnMap - the list of indexes into row
        newRow - the source array
      • projectMap

        public static void projectMap(int[] mainMap,
                                      int[] subMap,
                                      int[] newSubMap)
      • reorderMaps

        public static void reorderMaps(int[] mainMap,
                                       int[] firstMap,
                                       int[] secondMap)
      • fillSequence

        public static void fillSequence(int[] colindex)
      • byteArrayToChars

        public static char[] byteArrayToChars(byte[] bytes)
      • byteArrayToChars

        public static char[] byteArrayToChars(byte[] bytes,
                                              int bytesLength)
      • charArrayToBytes

        public static byte[] charArrayToBytes(char[] chars)
      • charArrayToBytes

        public static byte[] charArrayToBytes(char[] chars,
                                              int length)
      • isInSortedArray

        public static boolean isInSortedArray(char ch,
                                              char[] array)
        Returns true if char agrument is in array.
      • containsAll

        public static boolean containsAll(java.lang.Object[] arra,
                                          java.lang.Object[] arrb)
        returns true if arra contains all elements of arrb
        Parameters:
        arra - Object[]
        arrb - Object[]
        Returns:
        boolean
      • containsAny

        public static boolean containsAny(java.lang.Object[] arra,
                                          java.lang.Object[] arrb)
        returns true if arra contains any element of arrb
        Parameters:
        arra - Object[]
        arrb - Object[]
        Returns:
        boolean
      • containsAll

        public static boolean containsAll(int[] arra,
                                          int[] arrb)
        returns true if arra contains all elements of arrb
        Parameters:
        arra - int[]
        arrb - int[]
        Returns:
        boolean
      • containsAllAtStart

        public static boolean containsAllAtStart(int[] arra,
                                                 int[] arrb)
        returns true if arra contains all elements of arrb at its start
        Parameters:
        arra - int[]
        arrb - int[]
        Returns:
        boolean
      • toByteArray

        public static byte[] toByteArray(long hi,
                                         long lo)
        converts two longs to a byte[]
        Parameters:
        hi - long
        lo - long
        Returns:
        byte[]
      • compare

        public static int compare(byte[] a,
                                  byte[] b)
        Compares two arrays. Returns -1, 0, +1. If one array is shorther and all the elements are equal to the other's elements, -1 is returned.
      • compare

        public static int compare(byte[] a,
                                  int aLength,
                                  byte[] b,
                                  int bLength)
      • getBinaryMultipleCeiling

        public static long getBinaryMultipleCeiling(long value,
                                                    long unit)
        uses 2**scale form and returns a multipe of this that is larger or equal to value
      • getBinaryNormalisedCeiling

        public static long getBinaryNormalisedCeiling(long value,
                                                      int scale)
        uses 2**scale form and returns a multipe of this that is larger or equal to value
      • isTwoPower

        public static boolean isTwoPower(int n,
                                         int max)
        returns true if log2 n is in the range (0, max)
      • getTwoPowerFloor

        public static int getTwoPowerFloor(int n)
        returns the largest value that is 0 or a power of 2 and is smaller or equal to n

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.