Class HistoricalLinkedList<E>
java.lang.Object
org.opentrafficsim.core.perception.AbstractHistorical<E,AbstractHistoricalCollection.EventCollection<E,C>>
org.opentrafficsim.core.perception.collections.AbstractHistoricalCollection<E,L>
org.opentrafficsim.core.perception.collections.AbstractHistoricalList<E,LinkedList<E>>
org.opentrafficsim.core.perception.collections.HistoricalLinkedList<E>
- Type Parameters:
E- element type
- All Implemented Interfaces:
Iterable<E>,Collection<E>,Deque<E>,List<E>,Queue<E>,HistoricalCollection<E>,HistoricalDeque<E>,HistoricalList<E>,HistoricalQueue<E>,HistoryManager.HistoricalElement
public class HistoricalLinkedList<E> extends AbstractHistoricalList<E,LinkedList<E>> implements HistoricalDeque<E>
LinkedList-valued historical state. The current linked list is always maintained, and past states of the linked list are
obtained by applying the events between now and the requested time in reverse.
The
The
Iterator returned by this class does not support the remove(), add() and set() methods.
Any returned sublist is unmodifiable.
Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version 3 feb. 2018
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
Nested Class Summary
Nested classes/interfaces inherited from class org.opentrafficsim.core.perception.collections.AbstractHistoricalList
AbstractHistoricalList.AddEvent<E,L extends List<E>>, AbstractHistoricalList.EventList<E,L extends List<E>>, AbstractHistoricalList.RemoveEvent<E,L extends List<E>>Nested classes/interfaces inherited from class org.opentrafficsim.core.perception.collections.AbstractHistoricalCollection
AbstractHistoricalCollection.EventCollection<E,C extends Collection<E>>Nested classes/interfaces inherited from class org.opentrafficsim.core.perception.AbstractHistorical
AbstractHistorical.EventValue<T> -
Constructor Summary
Constructors Constructor Description HistoricalLinkedList(HistoryManager historyManager)Constructor.HistoricalLinkedList(HistoryManager historyManager, Collection<? extends E> c)Constructor. -
Method Summary
Modifier and Type Method Description voidaddFirst(E e)voidaddLast(E e)Iterator<E>descendingIterator()
This implementation copies a list and reverses the order before returning the iterator.Eelement()LinkedList<E>get()Returns the current deque.LinkedList<E>get(Time time)Returns a past deque.EgetFirst()EgetLast()booleanoffer(E e)booleanofferFirst(E e)booleanofferLast(E e)Epeek()EpeekFirst()EpeekLast()Epoll()EpollFirst()EpollLast()Epop()voidpush(E e)Eremove()EremoveFirst()booleanremoveFirstOccurrence(Object o)EremoveLast()booleanremoveLastOccurrence(Object o)StringtoString()Methods inherited from class org.opentrafficsim.core.perception.collections.AbstractHistoricalList
add, add, addAll, get, indexOf, lastIndexOf, listIterator, listIterator, remove, remove, set, subListMethods inherited from class org.opentrafficsim.core.perception.collections.AbstractHistoricalCollection
addAll, clear, contains, containsAll, fill, fill, getCollection, isEmpty, iterator, removeAll, retainAll, size, toArray, toArrayMethods inherited from class org.opentrafficsim.core.perception.AbstractHistorical
addEvent, cleanUpHistory, getEvent, getEvents, getLastEvent, isLastState, now, removeEventMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.opentrafficsim.core.perception.collections.HistoricalCollection
removeIfMethods inherited from interface org.opentrafficsim.core.perception.collections.HistoricalList
replaceAll, sort
-
Constructor Details
-
HistoricalLinkedList
Constructor.- Parameters:
historyManager- HistoryManager; history manager
-
HistoricalLinkedList
Constructor.- Parameters:
historyManager- HistoryManager; history managerc- Collection<? extends E>; initial collection
-
-
Method Details
-
get
Returns the current deque.- Specified by:
getin interfaceHistoricalCollection<E>- Specified by:
getin interfaceHistoricalDeque<E>- Specified by:
getin interfaceHistoricalList<E>- Specified by:
getin interfaceHistoricalQueue<E>- Returns:
- Deque; current deque
-
get
Returns a past deque.- Specified by:
getin interfaceHistoricalCollection<E>- Specified by:
getin interfaceHistoricalDeque<E>- Specified by:
getin interfaceHistoricalList<E>- Specified by:
getin interfaceHistoricalQueue<E>- Parameters:
time- Time; time to obtain the deque at- Returns:
- Deque; past deque
-
toString
-
offer
-
offerLast
-
addLast
-
remove
-
removeFirst
- Specified by:
removeFirstin interfaceDeque<E>
-
pop
-
pollFirst
-
poll
-
addFirst
-
push
-
offerFirst
- Specified by:
offerFirstin interfaceDeque<E>
-
removeLast
- Specified by:
removeLastin interfaceDeque<E>
-
pollLast
-
removeFirstOccurrence
- Specified by:
removeFirstOccurrencein interfaceDeque<E>
-
removeLastOccurrence
- Specified by:
removeLastOccurrencein interfaceDeque<E>
-
element
-
peek
-
getFirst
-
getLast
-
peekFirst
-
peekLast
-
descendingIterator
This implementation copies a list and reverses the order before returning the iterator. This is not efficient and it should be avoided when possible.- Specified by:
descendingIteratorin interfaceDeque<E>
-