Class BigArrays


  • public class BigArrays
    extends java.lang.Object
    Utility class to work with arrays.
    • Field Detail

      • NON_RECYCLING_INSTANCE

        public static final BigArrays NON_RECYCLING_INSTANCE
    • Method Detail

      • overSize

        public static long overSize​(long minTargetSize)
        Returns the next size to grow when working with parallel arrays that may have different page sizes or number of bytes per element.
      • overSize

        public static long overSize​(long minTargetSize,
                                    int pageSize,
                                    int bytesPerElement)
        Return the next size to grow to that is >= minTargetSize. Inspired from ArrayUtil.oversize(int, int) and adapted to play nicely with paging.
      • withCircuitBreaking

        public BigArrays withCircuitBreaking()
        Return an instance of this BigArrays class with circuit breaking explicitly enabled, instead of only accounting enabled
      • newByteArray

        public ByteArray newByteArray​(long size,
                                      boolean clearOnResize)
        Allocate a new ByteArray.
        Parameters:
        size - the initial length of the array
        clearOnResize - whether values should be set to 0 on initialization and resize
      • newByteArray

        public ByteArray newByteArray​(long size)
        Allocate a new ByteArray initialized with zeros.
        Parameters:
        size - the initial length of the array
      • resize

        public ByteArray resize​(ByteArray array,
                                long size)
        Resize the array to the exact provided size.
      • grow

        public ByteArray grow​(ByteArray array,
                              long minSize)
        Grow an array to a size that is larger than minSize, preserving content, and potentially reusing part of the provided array.
      • hashCode

        public int hashCode​(ByteArray array)
        See Also:
        Arrays.hashCode(byte[])
      • equals

        public boolean equals​(ByteArray array,
                              ByteArray other)
        See Also:
        Arrays.equals(byte[], byte[])
      • newIntArray

        public IntArray newIntArray​(long size,
                                    boolean clearOnResize)
        Allocate a new IntArray.
        Parameters:
        size - the initial length of the array
        clearOnResize - whether values should be set to 0 on initialization and resize
      • newIntArray

        public IntArray newIntArray​(long size)
        Allocate a new IntArray.
        Parameters:
        size - the initial length of the array
      • resize

        public IntArray resize​(IntArray array,
                               long size)
        Resize the array to the exact provided size.
      • grow

        public IntArray grow​(IntArray array,
                             long minSize)
        Grow an array to a size that is larger than minSize, preserving content, and potentially reusing part of the provided array.
      • newLongArray

        public LongArray newLongArray​(long size,
                                      boolean clearOnResize)
        Allocate a new LongArray.
        Parameters:
        size - the initial length of the array
        clearOnResize - whether values should be set to 0 on initialization and resize
      • newLongArray

        public LongArray newLongArray​(long size)
        Allocate a new LongArray.
        Parameters:
        size - the initial length of the array
      • resize

        public LongArray resize​(LongArray array,
                                long size)
        Resize the array to the exact provided size.
      • grow

        public LongArray grow​(LongArray array,
                              long minSize)
        Grow an array to a size that is larger than minSize, preserving content, and potentially reusing part of the provided array.
      • newDoubleArray

        public DoubleArray newDoubleArray​(long size,
                                          boolean clearOnResize)
        Allocate a new DoubleArray.
        Parameters:
        size - the initial length of the array
        clearOnResize - whether values should be set to 0 on initialization and resize
      • newDoubleArray

        public DoubleArray newDoubleArray​(long size)
        Allocate a new DoubleArray of the given capacity.
      • resize

        public DoubleArray resize​(DoubleArray array,
                                  long size)
        Resize the array to the exact provided size.
      • grow

        public DoubleArray grow​(DoubleArray array,
                                long minSize)
        Grow an array to a size that is larger than minSize, preserving content, and potentially reusing part of the provided array.
      • newFloatArray

        public FloatArray newFloatArray​(long size,
                                        boolean clearOnResize)
        Allocate a new FloatArray.
        Parameters:
        size - the initial length of the array
        clearOnResize - whether values should be set to 0 on initialization and resize
      • newFloatArray

        public FloatArray newFloatArray​(long size)
        Allocate a new FloatArray of the given capacity.
      • resize

        public FloatArray resize​(FloatArray array,
                                 long size)
        Resize the array to the exact provided size.
      • grow

        public FloatArray grow​(FloatArray array,
                               long minSize)
        Grow an array to a size that is larger than minSize, preserving content, and potentially reusing part of the provided array.
      • newObjectArray

        public <T> ObjectArray<T> newObjectArray​(long size)
        Allocate a new ObjectArray.
        Parameters:
        size - the initial length of the array
      • resize

        public <T> ObjectArray<T> resize​(ObjectArray<T> array,
                                         long size)
        Resize the array to the exact provided size.
      • grow

        public <T> ObjectArray<T> grow​(ObjectArray<T> array,
                                       long minSize)
        Grow an array to a size that is larger than minSize, preserving content, and potentially reusing part of the provided array.