Class DefaultDoublyLinkedList<T extends DoublyLinkedItem<T>>
- java.lang.Object
-
- org.exbin.auxiliary.paged_data.delta.list.DefaultDoublyLinkedList<T>
-
- Type Parameters:
T
- doubly linked list item
- All Implemented Interfaces:
java.lang.Iterable<T>
,java.util.Collection<T>
,java.util.List<T>
,DoublyLinkedList<T>
@ParametersAreNonnullByDefault public class DefaultDoublyLinkedList<T extends DoublyLinkedItem<T>> extends java.lang.Object implements DoublyLinkedList<T>
Default implementation of doubly linked list of items.
-
-
Constructor Summary
Constructors Constructor Description DefaultDoublyLinkedList()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, T item)
boolean
add(T item)
void
addAfter(T listItem, T item)
Adds item after given listItem.boolean
addAll(int index, java.util.Collection<? extends T> c)
boolean
addAll(java.util.Collection<? extends T> elementsToAdd)
void
addBefore(T targetItem, T item)
void
clear()
boolean
contains(java.lang.Object item)
boolean
containsAll(java.util.Collection<?> items)
T
first()
Returns first item of the list.T
get(int index)
int
indexOf(java.lang.Object searchedItem)
boolean
isEmpty()
java.util.Iterator<T>
iterator()
T
last()
Returns last item of the list.int
lastIndexOf(java.lang.Object searchedItem)
java.util.ListIterator<T>
listIterator()
java.util.ListIterator<T>
listIterator(int index)
T
nextTo(T item)
Returns item next to given item.T
prevTo(T item)
Returns item previous to given item.T
remove(int index)
boolean
remove(java.lang.Object o)
boolean
removeAll(java.util.Collection<?> collection)
boolean
retainAll(java.util.Collection<?> retainList)
T
set(int index, T item)
int
size()
java.util.List<T>
subList(int fromIndex, int toIndex)
java.lang.Object[]
toArray()
<X> X[]
toArray(X[] template)
-
-
-
Method Detail
-
first
@Nullable public T first()
Description copied from interface:DoublyLinkedList
Returns first item of the list.- Specified by:
first
in interfaceDoublyLinkedList<T extends DoublyLinkedItem<T>>
- Returns:
- first item
-
last
@Nullable public T last()
Description copied from interface:DoublyLinkedList
Returns last item of the list.- Specified by:
last
in interfaceDoublyLinkedList<T extends DoublyLinkedItem<T>>
- Returns:
- last item
-
nextTo
@Nullable public T nextTo(T item)
Description copied from interface:DoublyLinkedList
Returns item next to given item.- Specified by:
nextTo
in interfaceDoublyLinkedList<T extends DoublyLinkedItem<T>>
- Parameters:
item
- item- Returns:
- next item or null
-
prevTo
@Nullable public T prevTo(T item)
Description copied from interface:DoublyLinkedList
Returns item previous to given item.- Specified by:
prevTo
in interfaceDoublyLinkedList<T extends DoublyLinkedItem<T>>
- Parameters:
item
- item- Returns:
- previous item or null
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
size
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
isEmpty
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
get
@Nullable public T get(int index)
- Specified by:
get
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
set
@Nonnull public T set(int index, T item)
- Specified by:
set
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
contains
public boolean contains(java.lang.Object item)
- Specified by:
contains
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
contains
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
containsAll
public boolean containsAll(java.util.Collection<?> items)
- Specified by:
containsAll
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
containsAll
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
iterator
@Nonnull public java.util.Iterator<T> iterator()
- Specified by:
iterator
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
iterator
in interfacejava.lang.Iterable<T extends DoublyLinkedItem<T>>
- Specified by:
iterator
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
toArray
@Nonnull public java.lang.Object[] toArray()
- Specified by:
toArray
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
toArray
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
toArray
@Nonnull public <X> X[] toArray(X[] template)
- Specified by:
toArray
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
toArray
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
add
public boolean add(T item)
- Specified by:
add
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
add
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
add
public void add(int index, T item)
- Specified by:
add
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
addAfter
public void addAfter(T listItem, T item)
Adds item after given listItem. ListItem must be part of the list otherwise list will become broken. Item should not be member of other list- Parameters:
listItem
- item from the current listitem
- newly addded item
-
addAll
public boolean addAll(java.util.Collection<? extends T> elementsToAdd)
- Specified by:
addAll
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
addAll
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
addAll
public boolean addAll(int index, java.util.Collection<? extends T> c)
- Specified by:
addAll
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
indexOf
public int indexOf(java.lang.Object searchedItem)
- Specified by:
indexOf
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
remove
@Nullable public T remove(int index)
- Specified by:
remove
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
remove
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
remove
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
removeAll
public boolean removeAll(java.util.Collection<?> collection)
- Specified by:
removeAll
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
removeAll
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
retainAll
public boolean retainAll(java.util.Collection<?> retainList)
- Specified by:
retainAll
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
retainAll
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Collection<T extends DoublyLinkedItem<T>>
- Specified by:
clear
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
lastIndexOf
public int lastIndexOf(java.lang.Object searchedItem)
- Specified by:
lastIndexOf
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
listIterator
public java.util.ListIterator<T> listIterator()
- Specified by:
listIterator
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
listIterator
public java.util.ListIterator<T> listIterator(int index)
- Specified by:
listIterator
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
subList
public java.util.List<T> subList(int fromIndex, int toIndex)
- Specified by:
subList
in interfacejava.util.List<T extends DoublyLinkedItem<T>>
-
-