Class ReferenceLists.SynchronizedList<K>

java.lang.Object
it.unimi.dsi.fastutil.objects.ReferenceLists.SynchronizedList<K>
All Implemented Interfaces:
ObjectIterable<K>, ReferenceCollection<K>, ReferenceList<K>, Serializable, Iterable<K>, Collection<K>, List<K>
Direct Known Subclasses:
ReferenceLists.SynchronizedRandomAccessList
Enclosing class:
ReferenceLists

public static class ReferenceLists.SynchronizedList<K> extends Object implements ReferenceList<K>, Serializable
A synchronized wrapper class for lists.
See Also:
  • Method Details

    • get

      public K get(int i)
      Specified by:
      get in interface List<K>
    • set

      public K set(int i, K k)
      Specified by:
      set in interface List<K>
    • add

      public void add(int i, K k)
      Specified by:
      add in interface List<K>
    • remove

      public K remove(int i)
      Specified by:
      remove in interface List<K>
    • indexOf

      public int indexOf(Object k)
      Specified by:
      indexOf in interface List<K>
    • lastIndexOf

      public int lastIndexOf(Object k)
      Specified by:
      lastIndexOf in interface List<K>
    • removeIf

      public boolean removeIf(Predicate<? super K> filter)
      Specified by:
      removeIf in interface Collection<K>
    • replaceAll

      public void replaceAll(UnaryOperator<K> operator)
      Specified by:
      replaceAll in interface List<K>
    • addAll

      public boolean addAll(int index, Collection<? extends K> c)
      Specified by:
      addAll in interface List<K>
    • getElements

      public void getElements(int from, Object[] a, int offset, int length)
      Description copied from interface: ReferenceList
      Copies (hopefully quickly) elements of this type-specific list into the given array.
      Specified by:
      getElements in interface ReferenceList<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 interface: ReferenceList
      Removes (hopefully quickly) elements of this type-specific list.
      Specified by:
      removeElements in interface ReferenceList<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 interface: ReferenceList
      Add (hopefully quickly) elements to this type-specific list.
      Specified by:
      addElements in interface ReferenceList<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.
    • addElements

      public void addElements(int index, K[] a)
      Description copied from interface: ReferenceList
      Add (hopefully quickly) elements to this type-specific list.
      Specified by:
      addElements in interface ReferenceList<K>
      Parameters:
      index - the index at which to add elements.
      a - the array containing the elements.
    • setElements

      public void setElements(K[] a)
      Description copied from interface: ReferenceList
      Set (hopefully quickly) elements to match the array given.
      Specified by:
      setElements in interface ReferenceList<K>
      Parameters:
      a - the array containing the elements.
    • setElements

      public void setElements(int index, K[] a)
      Description copied from interface: ReferenceList
      Set (hopefully quickly) elements to match the array given.
      Specified by:
      setElements in interface ReferenceList<K>
      Parameters:
      index - the index at which to start setting elements.
      a - the array containing the elements.
    • setElements

      public void setElements(int index, K[] a, int offset, int length)
      Description copied from interface: ReferenceList
      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 ReferenceList<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.
    • size

      public void size(int size)
      Description copied from interface: ReferenceList
      Sets the size of this list.

      If the specified size is smaller than the current size, the last elements are discarded. Otherwise, they are filled with 0/null/false.

      Specified by:
      size in interface ReferenceList<K>
      Parameters:
      size - the new size.
    • listIterator

      public ObjectListIterator<K> listIterator()
      Description copied from interface: ReferenceList
      Returns a type-specific list iterator on the list.
      Specified by:
      listIterator in interface List<K>
      Specified by:
      listIterator in interface ReferenceList<K>
      See Also:
    • iterator

      public ObjectListIterator<K> iterator()
      Description copied from interface: ReferenceCollection
      Returns a type-specific iterator on the elements of this collection.
      Specified by:
      iterator in interface Collection<K>
      Specified by:
      iterator in interface Iterable<K>
      Specified by:
      iterator in interface List<K>
      Specified by:
      iterator in interface ObjectIterable<K>
      Specified by:
      iterator in interface ReferenceCollection<K>
      Specified by:
      iterator in interface ReferenceList<K>
      Returns:
      a type-specific iterator on the elements of this collection.
      See Also:
    • listIterator

      public ObjectListIterator<K> listIterator(int i)
      Description copied from interface: ReferenceList
      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 ReferenceList<K>
      See Also:
    • subList

      public ReferenceList<K> subList(int from, int to)
      Description copied from interface: ReferenceList
      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 ReferenceList<K>
      See Also:
    • equals

      public boolean equals(Object o)
      Specified by:
      equals in interface Collection<K>
      Specified by:
      equals in interface List<K>
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Collection<K>
      Specified by:
      hashCode in interface List<K>
    • sort

      public void sort(Comparator<? super K> comparator)
      Description copied from interface: ReferenceList
      Sorts this list using a sort assured to be stable.

      Pass null to sort using natural ordering.

      Unless a subclass specifies otherwise, the results of the method if the list is concurrently modified during the sort are unspecified.

      Specified by:
      sort in interface List<K>
      Specified by:
      sort in interface ReferenceList<K>
    • unstableSort

      public void unstableSort(Comparator<? super K> comparator)
      Description copied from interface: ReferenceList
      Sorts this list using a sort not assured to be stable. This differs from List.sort(java.util.Comparator) in that the results are not assured to be stable, but may be a bit faster.

      Pass null to sort using natural ordering.

      Unless a subclass specifies otherwise, the results of the method if the list is concurrently modified during the sort are unspecified.

      Specified by:
      unstableSort in interface ReferenceList<K>
    • add

      public boolean add(K k)
      Specified by:
      add in interface Collection<K>
    • contains

      public boolean contains(Object k)
      Specified by:
      contains in interface Collection<K>
    • remove

      public boolean remove(Object k)
      Specified by:
      remove in interface Collection<K>
    • size

      public int size()
      Specified by:
      size in interface Collection<K>
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Collection<K>
    • toArray

      public Object[] toArray()
      Specified by:
      toArray in interface Collection<K>
    • toArray

      public <T> T[] toArray(T[] a)
      Specified by:
      toArray in interface Collection<K>
    • spliterator

      public ObjectSpliterator<K> spliterator()
      Description copied from interface: ReferenceCollection
      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 ObjectIterable<K>
      Specified by:
      spliterator in interface ReferenceCollection<K>
      Returns:
      a type-specific spliterator on the elements of this collection.
    • stream

      public Stream<K> stream()
      Specified by:
      stream in interface Collection<K>
    • parallelStream

      public Stream<K> parallelStream()
      Specified by:
      parallelStream in interface Collection<K>
    • forEach

      public void forEach(Consumer<? super K> action)
      Specified by:
      forEach in interface Iterable<K>
    • addAll

      public boolean addAll(Collection<? extends K> c)
      Specified by:
      addAll in interface Collection<K>
    • containsAll

      public boolean containsAll(Collection<?> c)
      Specified by:
      containsAll in interface Collection<K>
    • removeAll

      public boolean removeAll(Collection<?> c)
      Specified by:
      removeAll in interface Collection<K>
    • retainAll

      public boolean retainAll(Collection<?> c)
      Specified by:
      retainAll in interface Collection<K>
    • clear

      public void clear()
      Specified by:
      clear in interface Collection<K>
    • toString

      public String toString()
      Overrides:
      toString in class Object