Class NaiveTxnLinkedList<E>
java.lang.Object
org.multiverse.collections.AbstractTxnCollection<E>
org.multiverse.collections.NaiveTxnLinkedList<E>
- Type Parameters:
E-
- All Implemented Interfaces:
Iterable<E>, Collection<E>, Deque<E>, Queue<E>, SequencedCollection<E>, TxnCollection<E>, TxnDeque<E>, TxnIterable<E>, TxnList<E>, TxnQueue<E>
public final class NaiveTxnLinkedList<E>
extends AbstractTxnCollection<E>
implements TxnDeque<E>, TxnList<E>
A LinkedList implementation that also acts as a TxnQueue, TxnDeque.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final intprivate final TxnRef<NaiveTxnLinkedList.Entry<E>> private final TxnIntegerprivate final TxnRef<NaiveTxnLinkedList.Entry<E>> Fields inherited from class AbstractTxnCollection
defaultRefFactory, stm -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanEnsures that this collection contains the specified element (optional operation).voidvoidvoidvoidvoidRemoves all of the elements from this collection (optional operation).booleanReturns true if this collection contains the specified element.element()private NaiveTxnLinkedList.Entry<E> get(int index) intgetFirst()getLast()intintReturns an iterator over a set of elements of type T.intlastIndexOf(Object item) intlastIndexOf(Txn tx, Object item) booleanbooleanbooleanofferFirst(E e) booleanofferFirst(Txn tx, E item) booleanbooleanpeek()peekLast()poll()pollLast()pop()voidvoidvoidvoidvoidvoidvoidvoidremove()remove(int index) booleanRemoves a single instance of the specified element from this collection, if it is present (optional operation).removeFirst(Txn tx) booleanbooleanremoveFirstOccurrence(Txn tx, Object o) removeLast(Txn tx) booleanbooleanremoveLastOccurrence(Txn tx, Object o) intReturns the number of elements in this collection.take()takeLast()Methods inherited from class AbstractTxnCollection
add, addAll, addAll, addAll, addAll, clear, contains, containsAll, containsAll, getStm, isEmpty, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Collection
clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArrayMethods inherited from interface TxnCollection
addAll, addAll, addAll, containsAll, getStm, isEmptyMethods inherited from interface TxnIterable
iterator
-
Field Details
-
capacity
private final int capacity -
size
-
head
-
tail
-
-
Constructor Details
-
NaiveTxnLinkedList
-
NaiveTxnLinkedList
-
-
Method Details
-
getCapacity
public int getCapacity()- Specified by:
getCapacityin interfaceTxnQueue<E>
-
set
-
set
-
size
Description copied from interface:TxnCollectionReturns the number of elements in this collection. If this collection contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.- Specified by:
sizein interfaceTxnCollection<E>- Parameters:
tx- the transaction used for this operation.- Returns:
- the number of elements in this collection
-
indexOf
-
indexOf
-
lastIndexOf
- Specified by:
lastIndexOfin interfaceTxnList<E>
-
lastIndexOf
- Specified by:
lastIndexOfin interfaceTxnList<E>
-
entry
-
contains
Description copied from interface:TxnCollectionReturns true if this collection contains the specified element. More formally, returns true if and only if this collection contains at least one element e such that (o==null ? e==null : o.equals(e)).- Specified by:
containsin interfaceTxnCollection<E>- Parameters:
tx- the transaction used for this operation.o- element whose presence in this collection is to be tested- Returns:
- true if this collection contains the specified element
-
remove
Description copied from interface:TxnCollectionRemoves a single instance of the specified element from this collection, if it is present (optional operation). More formally, removes an element e such that (o==null ? e==null : o.equals(e)), if this collection contains one or more such elements. Returns true if this collection contained the specified element (or equivalently, if this collection changed as a result of the call).- Specified by:
removein interfaceTxnCollection<E>- Parameters:
tx- the transaction used for this operation.o- element to be removed from this collection, if present- Returns:
- true if an element was removed as a result of this call
-
clear
Description copied from interface:TxnCollectionRemoves all of the elements from this collection (optional operation). The collection will be empty after this method returns.- Specified by:
clearin interfaceTxnCollection<E>- Parameters:
tx- the transaction used for this operation.
-
element
-
element
-
pop
-
pop
-
push
-
push
-
remove
-
remove
-
removeFirst
- Specified by:
removeFirstin interfaceDeque<E>- Specified by:
removeFirstin interfaceSequencedCollection<E>
-
removeFirst
- Specified by:
removeFirstin interfaceTxnDeque<E>
-
removeLast
- Specified by:
removeLastin interfaceDeque<E>- Specified by:
removeLastin interfaceSequencedCollection<E>
-
removeLast
- Specified by:
removeLastin interfaceTxnDeque<E>
-
remove
-
remove
-
removeFirstOccurrence
- Specified by:
removeFirstOccurrencein interfaceDeque<E>
-
removeFirstOccurrence
- Specified by:
removeFirstOccurrencein interfaceTxnDeque<E>
-
removeLastOccurrence
- Specified by:
removeLastOccurrencein interfaceDeque<E>
-
removeLastOccurrence
- Specified by:
removeLastOccurrencein interfaceTxnDeque<E>
-
getFirst
-
getFirst
-
getLast
-
getLast
-
get
-
get
-
addFirst
-
addFirst
-
addLast
-
addLast
-
add
Description copied from interface:TxnCollectionEnsures that this collection contains the specified element (optional operation). Returns true if this collection changed as a result of the call. (Returns false if this collection does not permit duplicates and already contains the specified element.)
Collections that support this operation may place limitations on what elements may be added to this collection. In particular, some collections will refuse to add null elements, and others will impose restrictions on the type of elements that may be added. Collection classes should clearly specify in their documentation any restrictions on what elements may be added.
If a collection refuses to add a particular element for any reason other than that it already contains the element, it must throw an exception (rather than returning false). This preserves the invariant that a collection always contains the specified element after this call returns.- Specified by:
addin interfaceTxnCollection<E>- Parameters:
tx- the transaction used for this operation.e- element whose presence in this collection is to be ensured- Returns:
- true if this collection changed as a result of the call
-
putFirst
-
putFirst
-
put
-
put
-
putLast
-
putLast
-
take
-
take
-
takeFirst
-
takeFirst
-
takeLast
-
takeLast
-
offerFirst
- Specified by:
offerFirstin interfaceDeque<E>
-
offerFirst
- Specified by:
offerFirstin interfaceTxnDeque<E>
-
offerLast
-
offerLast
-
offer
-
offer
-
pollFirst
-
pollFirst
-
pollLast
-
pollLast
-
poll
-
poll
-
peekFirst
-
peekFirst
-
peekLast
-
peekLast
-
peek
-
peek
-
iterator
Description copied from interface:TxnIterableReturns an iterator over a set of elements of type T.- Specified by:
iteratorin interfaceTxnIterable<E>- Parameters:
tx- the Txn used for this Operation.- Returns:
- an Iterator.
-
descendingIterator
- Specified by:
descendingIteratorin interfaceDeque<E>
-
descendingIterator
- Specified by:
descendingIteratorin interfaceTxnDeque<E>
-
toString
- Specified by:
toStringin interfaceTxnCollection<E>
-