Package it.unimi.dsi.fastutil.objects
Class ReferenceLists.SynchronizedList<K>
- java.lang.Object
-
- it.unimi.dsi.fastutil.objects.ReferenceLists.SynchronizedList<K>
-
- All Implemented Interfaces:
ObjectIterable<K>
,ReferenceCollection<K>
,ReferenceList<K>
,java.io.Serializable
,java.lang.Iterable<K>
,java.util.Collection<K>
,java.util.List<K>
- Direct Known Subclasses:
ReferenceLists.SynchronizedRandomAccessList
- Enclosing class:
- ReferenceLists
public static class ReferenceLists.SynchronizedList<K> extends java.lang.Object implements ReferenceList<K>, java.io.Serializable
A synchronized wrapper class for lists.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int i, K k)
boolean
add(K k)
boolean
addAll(int index, java.util.Collection<? extends K> c)
boolean
addAll(java.util.Collection<? extends K> c)
void
addElements(int index, K[] a)
Add (hopefully quickly) elements to this type-specific list.void
addElements(int index, K[] a, int offset, int length)
Add (hopefully quickly) elements to this type-specific list.void
clear()
boolean
contains(java.lang.Object k)
boolean
containsAll(java.util.Collection<?> c)
boolean
equals(java.lang.Object o)
void
forEach(java.util.function.Consumer<? super K> action)
K
get(int i)
void
getElements(int from, java.lang.Object[] a, int offset, int length)
Copies (hopefully quickly) elements of this type-specific list into the given array.int
hashCode()
int
indexOf(java.lang.Object k)
boolean
isEmpty()
ObjectListIterator<K>
iterator()
Returns a type-specific iterator on the elements of this collection.int
lastIndexOf(java.lang.Object k)
ObjectListIterator<K>
listIterator()
Returns a type-specific list iterator on the list.ObjectListIterator<K>
listIterator(int i)
Returns a type-specific list iterator on the list starting at a given index.java.util.stream.Stream<K>
parallelStream()
K
remove(int i)
boolean
remove(java.lang.Object k)
boolean
removeAll(java.util.Collection<?> c)
void
removeElements(int from, int to)
Removes (hopefully quickly) elements of this type-specific list.boolean
removeIf(java.util.function.Predicate<? super K> filter)
void
replaceAll(java.util.function.UnaryOperator<K> operator)
boolean
retainAll(java.util.Collection<?> c)
K
set(int i, K k)
void
setElements(int index, K[] a)
Set (hopefully quickly) elements to match the array given.void
setElements(int index, K[] a, int offset, int length)
Set (hopefully quickly) elements to match the array given.void
setElements(K[] a)
Set (hopefully quickly) elements to match the array given.int
size()
void
size(int size)
Sets the size of this list.void
sort(java.util.Comparator<? super K> comparator)
Sorts this list using a sort assured to be stable.ObjectSpliterator<K>
spliterator()
Returns a type-specific spliterator on the elements of this collection.java.util.stream.Stream<K>
stream()
ReferenceList<K>
subList(int from, int to)
Returns a type-specific view of the portion of this list from the indexfrom
, inclusive, to the indexto
, exclusive.java.lang.Object[]
toArray()
<T> T[]
toArray(T[] a)
java.lang.String
toString()
void
unstableSort(java.util.Comparator<? super K> comparator)
Sorts this list using a sort not assured to be stable.-
Methods inherited from interface java.util.List
add, addAll, clear, contains, containsAll, isEmpty, remove, removeAll, retainAll, size, toArray, toArray
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.ReferenceList
addAll, addAll, spliterator
-
-
-
-
Method Detail
-
indexOf
public int indexOf(java.lang.Object k)
- Specified by:
indexOf
in interfacejava.util.List<K>
-
lastIndexOf
public int lastIndexOf(java.lang.Object k)
- Specified by:
lastIndexOf
in interfacejava.util.List<K>
-
removeIf
public boolean removeIf(java.util.function.Predicate<? super K> filter)
- Specified by:
removeIf
in interfacejava.util.Collection<K>
-
replaceAll
public void replaceAll(java.util.function.UnaryOperator<K> operator)
- Specified by:
replaceAll
in interfacejava.util.List<K>
-
addAll
public boolean addAll(int index, java.util.Collection<? extends K> c)
- Specified by:
addAll
in interfacejava.util.List<K>
-
getElements
public void getElements(int from, java.lang.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 interfaceReferenceList<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 interfaceReferenceList<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 interfaceReferenceList<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 interfaceReferenceList<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 interfaceReferenceList<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 interfaceReferenceList<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 byListIterator 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 interfaceReferenceList<K>
- Parameters:
index
- the index at which to start setting elements.a
- the array containing the elementsoffset
- 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 interfaceReferenceList<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 interfacejava.util.List<K>
- Specified by:
listIterator
in interfaceReferenceList<K>
- See Also:
List.listIterator()
-
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 interfacejava.util.Collection<K>
- Specified by:
iterator
in interfacejava.lang.Iterable<K>
- Specified by:
iterator
in interfacejava.util.List<K>
- Specified by:
iterator
in interfaceObjectIterable<K>
- Specified by:
iterator
in interfaceReferenceCollection<K>
- Specified by:
iterator
in interfaceReferenceList<K>
- Returns:
- a type-specific iterator on the elements of this collection.
- See Also:
Iterable.iterator()
-
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 interfacejava.util.List<K>
- Specified by:
listIterator
in interfaceReferenceList<K>
- See Also:
List.listIterator(int)
-
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 indexfrom
, inclusive, to the indexto
, exclusive.- Specified by:
subList
in interfacejava.util.List<K>
- Specified by:
subList
in interfaceReferenceList<K>
- See Also:
List.subList(int,int)
-
equals
public boolean equals(java.lang.Object o)
-
hashCode
public int hashCode()
-
sort
public void sort(java.util.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 interfacejava.util.List<K>
- Specified by:
sort
in interfaceReferenceList<K>
-
unstableSort
public void unstableSort(java.util.Comparator<? super K> comparator)
Description copied from interface:ReferenceList
Sorts this list using a sort not assured to be stable. This differs fromList.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 interfaceReferenceList<K>
-
add
public boolean add(K k)
- Specified by:
add
in interfacejava.util.Collection<K>
-
contains
public boolean contains(java.lang.Object k)
- Specified by:
contains
in interfacejava.util.Collection<K>
-
remove
public boolean remove(java.lang.Object k)
- Specified by:
remove
in interfacejava.util.Collection<K>
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection<K>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Collection<K>
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArray
in interfacejava.util.Collection<K>
-
toArray
public <T> T[] toArray(T[] a)
- Specified by:
toArray
in interfacejava.util.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 interfacejava.util.Collection<K>
- Specified by:
spliterator
in interfacejava.lang.Iterable<K>
- Specified by:
spliterator
in interfaceObjectIterable<K>
- Specified by:
spliterator
in interfaceReferenceCollection<K>
- Returns:
- a type-specific spliterator on the elements of this collection.
-
stream
public java.util.stream.Stream<K> stream()
- Specified by:
stream
in interfacejava.util.Collection<K>
-
parallelStream
public java.util.stream.Stream<K> parallelStream()
- Specified by:
parallelStream
in interfacejava.util.Collection<K>
-
forEach
public void forEach(java.util.function.Consumer<? super K> action)
- Specified by:
forEach
in interfacejava.lang.Iterable<K>
-
addAll
public boolean addAll(java.util.Collection<? extends K> c)
- Specified by:
addAll
in interfacejava.util.Collection<K>
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
- Specified by:
containsAll
in interfacejava.util.Collection<K>
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
- Specified by:
removeAll
in interfacejava.util.Collection<K>
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
- Specified by:
retainAll
in interfacejava.util.Collection<K>
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Collection<K>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-