Class AbstractObjectList.ObjectSubList<K>

All Implemented Interfaces:
ObjectCollection<K>, ObjectIterable<K>, ObjectList<K>, Stack<K>, Serializable, Comparable<List<? extends K>>, Iterable<K>, Collection<K>, List<K>, SequencedCollection<K>
Direct Known Subclasses:
AbstractObjectList.ObjectRandomAccessSubList
Enclosing class:
AbstractObjectList<K>

public static class AbstractObjectList.ObjectSubList<K> extends AbstractObjectList<K> implements Serializable
A class implementing a sublist view.
See Also:
  • Constructor Details

    • ObjectSubList

      public ObjectSubList(ObjectList<K> l, int from, int to)
  • Method Details

    • add

      public boolean add(K k)
      Description copied from class: AbstractObjectList
      Specified by:
      add in interface Collection<K>
      Specified by:
      add in interface List<K>
      Overrides:
      add in class AbstractObjectList<K>
    • add

      public void add(int index, K k)
      Description copied from class: AbstractObjectList
      Specified by:
      add in interface List<K>
      Overrides:
      add in class AbstractObjectList<K>
    • addAll

      public boolean addAll(int index, Collection<? extends K> c)
      Description copied from class: AbstractObjectList
      Adds all of the elements in the specified collection to this list (optional operation).
      Specified by:
      addAll in interface List<K>
      Overrides:
      addAll in class AbstractObjectList<K>
    • get

      public K get(int index)
      Specified by:
      get in interface List<K>
    • remove

      public K remove(int index)
      Description copied from class: AbstractObjectList
      Specified by:
      remove in interface List<K>
      Overrides:
      remove in class AbstractObjectList<K>
    • set

      public K set(int index, K k)
      Description copied from class: AbstractObjectList
      Specified by:
      set in interface List<K>
      Overrides:
      set in class AbstractObjectList<K>
    • size

      public int size()
      Specified by:
      size in interface Collection<K>
      Specified by:
      size in interface List<K>
      Specified by:
      size in class AbstractCollection<K>
    • getElements

      public void getElements(int from, Object[] a, int offset, int length)
      Description copied from class: AbstractObjectList
      Copies (hopefully quickly) elements of this type-specific list into the given array.

      This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.

      Specified by:
      getElements in interface ObjectList<K>
      Overrides:
      getElements in class AbstractObjectList<K>
      Parameters:
      from - the start index (inclusive).
      a - the destination array.
      offset - the offset into the destination array where to store the first element copied.
      length - the number of elements to be copied.
    • removeElements

      public void removeElements(int from, int to)
      Description copied from class: AbstractObjectList
      Removes (hopefully quickly) elements of this type-specific list.

      This is a trivial iterator-based based implementation. It is expected that implementations will override this method with a more optimized version.

      Specified by:
      removeElements in interface ObjectList<K>
      Overrides:
      removeElements in class AbstractObjectList<K>
      Parameters:
      from - the start index (inclusive).
      to - the end index (exclusive).
    • addElements

      public void addElements(int index, K[] a, int offset, int length)
      Description copied from class: AbstractObjectList
      Add (hopefully quickly) elements to this type-specific list.

      This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.

      Specified by:
      addElements in interface ObjectList<K>
      Overrides:
      addElements in class AbstractObjectList<K>
      Parameters:
      index - the index at which to add elements.
      a - the array containing the elements.
      offset - the offset of the first element to add.
      length - the number of elements to add.
    • setElements

      public void setElements(int index, K[] a, int offset, int length)
      Description copied from interface: ObjectList
      Set (hopefully quickly) elements to match the array given. Sets each in this list to the corresponding elements in the array, as if by
       ListIterator iter = listIterator(index);
       int i = 0;
       while (i < length) {
              iter.next();
              iter.set(a[offset + i++]);
       }
       
      However, the exact implementation may be more efficient, taking into account whether random access is faster or not, or at the discretion of subclasses, abuse internals.
      Specified by:
      setElements in interface ObjectList<K>
      Overrides:
      setElements in class AbstractObjectList<K>
      Parameters:
      index - the index at which to start setting elements.
      a - the array containing the elements
      offset - the offset of the first element to add.
      length - the number of elements to add.
    • listIterator

      public ObjectListIterator<K> listIterator(int index)
      Description copied from class: AbstractObjectList
      Returns a type-specific list iterator on the list starting at a given index.
      Specified by:
      listIterator in interface List<K>
      Specified by:
      listIterator in interface ObjectList<K>
      Overrides:
      listIterator in class AbstractObjectList<K>
      See Also:
    • spliterator

      public ObjectSpliterator<K> spliterator()
      Description copied from interface: ObjectCollection
      Returns a type-specific spliterator on the elements of this collection.

      See Collection.spliterator() for more documentation on the requirements of the returned spliterator.

      Specified by:
      spliterator in interface Collection<K>
      Specified by:
      spliterator in interface Iterable<K>
      Specified by:
      spliterator in interface List<K>
      Specified by:
      spliterator in interface ObjectCollection<K>
      Specified by:
      spliterator in interface ObjectIterable<K>
      Specified by:
      spliterator in interface ObjectList<K>
      Returns:
      a type-specific spliterator on the elements of this collection.
    • subList

      public ObjectList<K> subList(int from, int to)
      Description copied from interface: ObjectList
      Returns a type-specific view of the portion of this list from the index from, inclusive, to the index to, exclusive.
      Specified by:
      subList in interface List<K>
      Specified by:
      subList in interface ObjectList<K>
      Overrides:
      subList in class AbstractObjectList<K>
      See Also: