Interface ObjectBigList<K>

All Superinterfaces:
BigList<K>, Collection<K>, Comparable<BigList<? extends K>>, Iterable<K>, ObjectCollection<K>, ObjectIterable<K>, Size64
All Known Implementing Classes:
AbstractObjectBigList, AbstractObjectBigList.ObjectSubList, ObjectBigArrayBigList, ObjectBigLists.EmptyBigList, ObjectBigLists.ListBigList, ObjectBigLists.Singleton, ObjectBigLists.SynchronizedBigList, ObjectBigLists.UnmodifiableBigList

public interface ObjectBigList<K>
extends BigList<K>, ObjectCollection<K>, Size64, Comparable<BigList<? extends K>>
A type-specific BigList; provides some additional methods that use polymorphism to avoid (un)boxing.

Additionally, this interface strengthens iterator(), listIterator(), listIterator(long) and subList(long,long).

Besides polymorphic methods, this interfaces specifies methods to copy into an array or remove contiguous sublists. Although the abstract implementation of this interface provides simple, one-by-one implementations of these methods, it is expected that concrete implementation override them with optimized versions.

See Also:
List
  • Method Details

    • iterator

      Returns a type-specific iterator on the elements of this list.

      Note that this specification strengthens the one given in Collection.iterator().

      Specified by:
      iterator in interface Collection<K>
      Specified by:
      iterator in interface Iterable<K>
      Specified by:
      iterator in interface ObjectCollection<K>
      Specified by:
      iterator in interface ObjectIterable<K>
      Returns:
      a type-specific iterator on the elements of this collection.
      See Also:
      Collection.iterator()
    • listIterator

      ObjectBigListIterator<K> listIterator()
      Returns a type-specific big-list iterator on this type-specific big list.

      Note that this specification strengthens the one given in BigList.listIterator().

      Specified by:
      listIterator in interface BigList<K>
      Returns:
      a big-list iterator over the elements in this big list.
      See Also:
      BigList.listIterator()
    • listIterator

      ObjectBigListIterator<K> listIterator​(long index)
      Returns a type-specific list iterator on this type-specific big list starting at a given index.

      Note that this specification strengthens the one given in BigList.listIterator(long).

      Specified by:
      listIterator in interface BigList<K>
      Parameters:
      index - index of first element to be returned from the big-list iterator.
      Returns:
      a big-list iterator of the elements in this big list, starting at the specified position in this big list.
      See Also:
      BigList.listIterator(long)
    • subList

      ObjectBigList<K> subList​(long from, long to)
      Returns a type-specific view of the portion of this type-specific big list from the index from, inclusive, to the index to, exclusive.

      Note that this specification strengthens the one given in BigList.subList(long,long).

      Specified by:
      subList in interface BigList<K>
      Parameters:
      from - the starting element (inclusive).
      to - the ending element (exclusive).
      Returns:
      a big sublist view of this big list.
      See Also:
      BigList.subList(long,long)
    • getElements

      void getElements​(long from, Object[][] a, long offset, long length)
      Copies (hopefully quickly) elements of this type-specific big list into the given big array.
      Parameters:
      from - the start index (inclusive).
      a - the destination big array.
      offset - the offset into the destination big array where to store the first element copied.
      length - the number of elements to be copied.
    • removeElements

      void removeElements​(long from, long to)
      Removes (hopefully quickly) elements of this type-specific big list.
      Parameters:
      from - the start index (inclusive).
      to - the end index (exclusive).
    • addElements

      void addElements​(long index, K[][] a)
      Add (hopefully quickly) elements to this type-specific big list.
      Parameters:
      index - the index at which to add elements.
      a - the big array containing the elements.
    • addElements

      void addElements​(long index, K[][] a, long offset, long length)
      Add (hopefully quickly) elements to this type-specific big list.
      Parameters:
      index - the index at which to add elements.
      a - the big array containing the elements.
      offset - the offset of the first element to add.
      length - the number of elements to add.