Class AbstractObjectList.ObjectSubList<K>

java.lang.Object
java.util.AbstractCollection<K>
it.unimi.dsi.fastutil.objects.AbstractObjectCollection<K>
it.unimi.dsi.fastutil.objects.AbstractObjectList<K>
it.unimi.dsi.fastutil.objects.AbstractObjectList.ObjectSubList<K>
All Implemented Interfaces:
ObjectCollection<K>, ObjectIterable<K>, ObjectList<K>, Stack<K>, java.io.Serializable, java.lang.Comparable<java.util.List<? extends K>>, java.lang.Iterable<K>, java.util.Collection<K>, java.util.List<K>
Direct Known Subclasses:
AbstractObjectList.ObjectRandomAccessSubList
Enclosing class:
AbstractObjectList<K>

public static class AbstractObjectList.ObjectSubList<K>
extends AbstractObjectList<K>
implements java.io.Serializable
A class implementing a sublist view.
See Also:
Serialized Form
  • 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 java.util.Collection<K>
      Specified by:
      add in interface java.util.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 java.util.List<K>
      Overrides:
      add in class AbstractObjectList<K>
    • addAll

      public boolean addAll​(int index, java.util.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 java.util.List<K>
      Overrides:
      addAll in class AbstractObjectList<K>
    • get

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

      public K remove​(int index)
      Description copied from class: AbstractObjectList
      Specified by:
      remove in interface java.util.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 java.util.List<K>
      Overrides:
      set in class AbstractObjectList<K>
    • size

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

      public void getElements​(int from, java.lang.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 java.util.List<K>
      Specified by:
      listIterator in interface ObjectList<K>
      Overrides:
      listIterator in class AbstractObjectList<K>
      See Also:
      List.listIterator(int)
    • spliterator

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

      List spliterators must report at least Spliterator.SIZED and Spliterator.ORDERED.

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

      Specified by:
      spliterator in interface java.util.Collection<K>
      Specified by:
      spliterator in interface java.lang.Iterable<K>
      Specified by:
      spliterator in interface java.util.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 java.util.List<K>
      Specified by:
      subList in interface ObjectList<K>
      Overrides:
      subList in class AbstractObjectList<K>
      See Also:
      List.subList(int,int)