Class LongArrayList

  • All Implemented Interfaces:
    Cloneable, Iterable<LongCursor>, Accountable

    public class LongArrayList
    extends Object
    implements Iterable<LongCursor>, Cloneable, Accountable
    An array-backed list of long.

    Mostly forked and trimmed from com.carrotsearch.hppc.LongArrayList

    github: https://github.com/carrotsearch/hppc release 0.10.0

    NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
    • Constructor Summary

      Constructors 
      Constructor Description
      LongArrayList()
      New instance with sane defaults.
      LongArrayList​(int expectedElements)
      New instance with sane defaults.
      LongArrayList​(LongArrayList list)
      Creates a new list from the elements of another list in its iteration order.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(long e1)  
      void add​(long... elements)
      Vararg-signature method for adding elements at the end of the list.
      void add​(long[] elements, int start, int length)
      Add all elements from a range of given array to the list.
      int addAll​(Iterable<? extends LongCursor> iterable)
      Adds all elements from another iterable.
      int addAll​(LongArrayList list)
      Adds all elements from another list.
      void clear()
      Sets the number of stored elements to zero.
      LongArrayList clone()
      Clone this object.
      boolean contains​(long e1)  
      protected void ensureBufferSpace​(int expectedAdditions)
      Ensures the internal buffer has enough free slots to store expectedAdditions.
      void ensureCapacity​(int expectedElements)
      Ensure this container can hold at least the given number of elements without resizing its buffers.
      protected boolean equalElements​(LongArrayList other)
      Compare index-aligned elements against another LongArrayList.
      boolean equals​(Object obj)
      Returns true only if the other object is an instance of the same class and with the same elements.
      static LongArrayList from​(long... elements)
      Create a list from a variable number of arguments or an array of int.
      long get​(int index)  
      int hashCode()  
      int indexOf​(long e1)  
      void insert​(int index, long e1)  
      boolean isEmpty()  
      Iterator<LongCursor> iterator()  
      int lastIndexOf​(long e1)  
      long ramBytesUsed()
      Return the memory usage of this object in bytes.
      void release()
      Sets the number of stored elements to zero and releases the internal storage array.
      int removeAll​(long e)
      Removes all occurrences of e from this collection.
      long removeAt​(int index)
      Removes the element at the specified position in this container and returns it.
      boolean removeElement​(long e)
      Removes the first element that equals e, returning whether an element has been removed.
      int removeFirst​(long e1)
      Removes the first element that equals e1, returning its deleted position or -1 if the element was not found.
      long removeLast()
      Removes and returns the last element of this list.
      int removeLast​(long e1)
      Removes the last element that equals e1, returning its deleted position or -1 if the element was not found.
      void removeRange​(int fromIndex, int toIndex)
      Removes from this list all the elements with indexes between fromIndex, inclusive, and toIndex, exclusive.
      void resize​(int newSize)
      Truncate or expand the list to the new size.
      LongArrayList reverse()
      Reverses the elements in this list and returns this list.
      long set​(int index, long e1)  
      int size()  
      LongArrayList sort()
      Sorts the elements in this list and returns this list.
      LongStream stream()
      Returns a stream of all the elements contained in this list.
      long[] toArray()
      The returned array is sized to match exactly the number of elements of the stack.
      String toString()
      Convert the contents of this list to a human-friendly string.
      void trimToSize()
      Trim the internal buffer to the current size.
    • Field Detail

      • EMPTY_ARRAY

        public static final long[] EMPTY_ARRAY
        An immutable empty buffer (array).
      • buffer

        public long[] buffer
        Internal array for storing the list. The array may be larger than the current size (size()).
      • elementsCount

        public int elementsCount
        Current number of elements stored in buffer.
    • Constructor Detail

      • LongArrayList

        public LongArrayList()
        New instance with sane defaults.
      • LongArrayList

        public LongArrayList​(int expectedElements)
        New instance with sane defaults.
        Parameters:
        expectedElements - The expected number of elements guaranteed not to cause buffer expansion (inclusive).
      • LongArrayList

        public LongArrayList​(LongArrayList list)
        Creates a new list from the elements of another list in its iteration order.
    • Method Detail

      • add

        public void add​(long e1)
      • add

        public void add​(long[] elements,
                        int start,
                        int length)
        Add all elements from a range of given array to the list.
      • add

        public final void add​(long... elements)
        Vararg-signature method for adding elements at the end of the list.

        This method is handy, but costly if used in tight loops (anonymous array passing)

      • addAll

        public int addAll​(LongArrayList list)
        Adds all elements from another list.
      • addAll

        public int addAll​(Iterable<? extends LongCursor> iterable)
        Adds all elements from another iterable.
      • insert

        public void insert​(int index,
                           long e1)
      • get

        public long get​(int index)
      • set

        public long set​(int index,
                        long e1)
      • removeAt

        public long removeAt​(int index)
        Removes the element at the specified position in this container and returns it.
      • removeLast

        public long removeLast()
        Removes and returns the last element of this list.
      • removeRange

        public void removeRange​(int fromIndex,
                                int toIndex)
        Removes from this list all the elements with indexes between fromIndex, inclusive, and toIndex, exclusive.
      • removeElement

        public boolean removeElement​(long e)
        Removes the first element that equals e, returning whether an element has been removed.
      • removeFirst

        public int removeFirst​(long e1)
        Removes the first element that equals e1, returning its deleted position or -1 if the element was not found.
      • removeLast

        public int removeLast​(long e1)
        Removes the last element that equals e1, returning its deleted position or -1 if the element was not found.
      • removeAll

        public int removeAll​(long e)
        Removes all occurrences of e from this collection.
        Parameters:
        e - Element to be removed from this collection, if present.
        Returns:
        The number of removed elements as a result of this call.
      • contains

        public boolean contains​(long e1)
      • indexOf

        public int indexOf​(long e1)
      • lastIndexOf

        public int lastIndexOf​(long e1)
      • isEmpty

        public boolean isEmpty()
      • ensureCapacity

        public void ensureCapacity​(int expectedElements)
        Ensure this container can hold at least the given number of elements without resizing its buffers.
        Parameters:
        expectedElements - The total number of elements, inclusive.
      • ensureBufferSpace

        protected void ensureBufferSpace​(int expectedAdditions)
        Ensures the internal buffer has enough free slots to store expectedAdditions. Increases internal buffer size if needed.
      • resize

        public void resize​(int newSize)
        Truncate or expand the list to the new size. If the list is truncated, the buffer will not be reallocated (use trimToSize() if you need a truncated buffer), but the truncated values will be reset to the default value (zero). If the list is expanded, the elements beyond the current size are initialized with JVM-defaults (zero or null values).
      • size

        public int size()
      • trimToSize

        public void trimToSize()
        Trim the internal buffer to the current size.
      • clear

        public void clear()
        Sets the number of stored elements to zero. Releases and initializes the internal storage array to default values. To clear the list without cleaning the buffer, simply set the elementsCount field to zero.
      • release

        public void release()
        Sets the number of stored elements to zero and releases the internal storage array.
      • toArray

        public long[] toArray()
        The returned array is sized to match exactly the number of elements of the stack.
      • clone

        public LongArrayList clone()
        Clone this object. The returned clone will reuse the same hash function and array resizing strategy.
        Overrides:
        clone in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public boolean equals​(Object obj)
        Returns true only if the other object is an instance of the same class and with the same elements.
        Overrides:
        equals in class Object
      • equalElements

        protected boolean equalElements​(LongArrayList other)
        Compare index-aligned elements against another LongArrayList.
      • toString

        public String toString()
        Convert the contents of this list to a human-friendly string.
        Overrides:
        toString in class Object
      • ramBytesUsed

        public long ramBytesUsed()
        Description copied from interface: Accountable
        Return the memory usage of this object in bytes. Negative values are illegal.
        Specified by:
        ramBytesUsed in interface Accountable
      • stream

        public LongStream stream()
        Returns a stream of all the elements contained in this list.
      • sort

        public LongArrayList sort()
        Sorts the elements in this list and returns this list.
      • reverse

        public LongArrayList reverse()
        Reverses the elements in this list and returns this list.
      • from

        public static LongArrayList from​(long... elements)
        Create a list from a variable number of arguments or an array of int. The elements are copied from the argument to the internal buffer.