|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.millscript.commons.util.list.AbstractIList<V>
org.millscript.commons.util.list.AbstractUList<V>
org.millscript.commons.util.list.AbstractEList<V>
org.millscript.commons.util.list.ELinkedList<V>
public class ELinkedList<V>
This class provides a mutable List implementation which is
backed by singly linked list. We don't need the complexity of a doubly
linked list as our iterators do not allow reverse iteration.
| Nested Class Summary | |
|---|---|
static class |
ELinkedList.ELinkedListIterator<V>
This class provides a map interator implementation which iterates over this values in the specified linked list. |
static class |
ELinkedList.SharedLinkedListIterator<V>
This class provides a map interator implementation which iterates over a shared poriton of the specified linked list. |
static class |
ELinkedList.SharedLinkedListList<V>
This class implements a linked list which is backed by a shared slice of another linked list. |
| Nested classes/interfaces inherited from class org.millscript.commons.util.list.AbstractIList |
|---|
AbstractIList.ListMapletIterator<V>, AbstractIList.ListMapletList<V> |
| Constructor Summary | |
|---|---|
ELinkedList()
Constructs a new empty mutable linked list. |
|
ELinkedList(V[] objects)
Constructs a new mutable linked list with the objects in the given array, in the same order. |
|
ELinkedList(V[] objects,
int start,
int end)
Constructs a new mutable linked list with the objects in the given array, in the same order, starting and ending at the specified indices. |
|
| Method Summary | |
|---|---|
void |
addFirst(V value)
Adds the specified value to the begining of this list. |
void |
addLast(V value)
Adds the specified value to the end of this list. |
java.lang.Object |
clone()
|
void |
deleteAll()
Removes all the mappings from this list. |
void |
deleteFirst()
Removes the first element from the list. |
void |
deleteLast()
Removes the last element from the list. |
void |
deleteValue(V value)
Removes all elements from this list which are equal to the specified value. |
protected void |
doDelete(int key,
V value)
Removes the value at the specified position(one based) in the list, but only if it matches the specified one. |
protected void |
doDeleteKey(int key)
Removes the value at the specified index(one based), shifting any subsequent elements to an index one lower than before. |
protected V |
doGet(int pos)
Returns the value at the specified position(one based) in the list. |
protected void |
doRemoveSlice(int first,
int last)
Removes the specified slice of elements in this list, starting at first(one based, inclusive) and continuing
last(one based, inclusive). |
protected IList<V> |
doSlice(int first,
int last,
boolean share)
Returns a list containing a slice of the elements in this list, starting at first(one based, inclusive) and continuing
last(one based, inclusive). |
protected void |
doUpdate(int key,
V value)
Updates the value at the specified index(one based) with that specified. |
int |
indexOf(V value)
Returns the index(one based) of the first occurance of the specified object in this list. |
void |
insert(int pos,
V value)
Inserts the specified value at the given position(one based) in this list. |
ListIterator<V> |
iterator(boolean share)
Returns an iterator over the values in this list and their respective position. |
int |
size()
Returns the number of mappings defined in this map. |
| Methods inherited from class org.millscript.commons.util.list.AbstractEList |
|---|
append, delete, delete, delete, delete0, delete0, delete0, deleteAll, deleteKey, deleteKey, deleteKey0, deleteKey0, deleteSlice, deleteSlice0, insert, insert, insert0, insert0, insert0, prefix |
| Methods inherited from class org.millscript.commons.util.list.AbstractUList |
|---|
update, update, update, update0, update0, update0, updateAll |
| Methods inherited from class org.millscript.commons.util.list.AbstractIList |
|---|
allButFirst, allButLast, allFirst, allLast, contains, contains, contains, contains0, contains0, contains0, containsAll, containsKey, containsKey, containsKey0, containsKey0, containsSlice, containsSlice0, containsValue, decorate, equals, first, get, get, get0, get0, getDefault, hashCode, indexOf0, isEmtpy, keyList, last, mapletList, setDefault, setDefault, sharedMapletList, sharedValueList, slice, slice0, toArray, toArray, toString, valueList |
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.millscript.commons.util.UList |
|---|
update, update, update, update0, update0, update0 |
| Methods inherited from interface org.millscript.commons.util.IList |
|---|
allButFirst, allButLast, allFirst, allLast, contains, contains, contains0, contains0, contains0, containsKey, containsKey, containsKey0, containsKey0, containsSlice, containsSlice0, first, get, get, get0, get0, getDefault, indexOf0, last, setDefault, slice, slice0, toArray, toArray |
| Methods inherited from interface org.millscript.commons.util.IMap |
|---|
contains, containsAll, containsValue, equals, hashCode, isEmtpy, keyList, mapletList, setDefault, valueList |
| Methods inherited from interface org.millscript.commons.util.UMap |
|---|
updateAll |
| Methods inherited from interface org.millscript.commons.util.IMap |
|---|
contains, containsAll, containsValue, equals, hashCode, isEmtpy, keyList, mapletList, setDefault, valueList |
| Constructor Detail |
|---|
public ELinkedList()
public ELinkedList(V[] objects)
objects - the backing object array with objects to populate the
list with
public ELinkedList(V[] objects,
int start,
int end)
objects - the backing object array with objects to populate the
list withstart - the index of the first element in the sliceend - the index of the last element in the slice. If end <
start, the new list will be empty| Method Detail |
|---|
public void addFirst(V value)
EList
addFirst in interface EList<V>value - the value to add to the begining of the listEList.addFirst(java.lang.Object)public void addLast(V value)
EList
addLast in interface EList<V>value - the value to add to the end of the listEList.addLast(java.lang.Object)
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
clone in class java.lang.Objectjava.lang.CloneNotSupportedExceptionObject.clone()public void deleteAll()
EList
deleteAll in interface EList<V>EList.deleteAll()public void deleteFirst()
EList
deleteFirst in interface EList<V>EList.deleteFirst()public void deleteLast()
EList
deleteLast in interface EList<V>EList.deleteLast()public void deleteValue(V value)
EList
deleteValue in interface EList<V>value - the value to remove from this listEList.deleteValue(java.lang.Object)
protected void doDelete(int key,
V value)
AbstractEListAbstractEList.doDelete(int, Object) method after the index has been
validated. Hence this method should generally not need to perform any
further validation.
doDelete in class AbstractEList<V>value - the value which must match that stored at the specified
position(one based) in the listAbstractEList.doDelete(int, java.lang.Object)protected void doDeleteKey(int key)
AbstractEListAbstractEList.doDeleteKey(int) method after the index
has been validated. Hence this method should generally not need to
perform any further validation.
doDeleteKey in class AbstractEList<V>key - the index(one based) of the value to removeAbstractEList.doDeleteKey(int)protected V doGet(int pos)
AbstractIListAbstractIList.get(int) method after the index
has been validated. Hence this method should generally not need to
perform any further validation.
doGet in class AbstractIList<V>pos - the index(one based) of the value to return
AbstractIList.doGet(int)
protected void doRemoveSlice(int first,
int last)
AbstractEListfirst(one based, inclusive) and continuing
last(one based, inclusive). This method is called by the
generic AbstractEList.deleteSlice(int, int) method after the index has been
validated. Hence this method should generally not need to perform any
further validation.
doRemoveSlice in class AbstractEList<V>first - the index(one based) of the first element in the slicelast - the index(one based) of the last element in the sliceAbstractEList.doRemoveSlice(int, int)
protected IList<V> doSlice(int first,
int last,
boolean share)
AbstractIListfirst(one based, inclusive) and continuing
last(one based, inclusive). This method is called by the
generic #slice(int, int) method after the indices have been
validated. Hence, this method assumes that the specified indices are
within the bounds of the list and that the first index is less than or
equal to the last index. The case where the first index is greater than
the last is handled elsewhere.
doSlice in class AbstractIList<V>first - the index(one based) of the first element in the slicelast - the index(one based) of the last element in the sliceshare - if true the specified object array will be
shared otherwise the array will be copied.
AbstractIList.doSlice(int, int, boolean)
protected void doUpdate(int key,
V value)
AbstractUListAbstractUList.update(int, Object) method
after the index has been validated. Hence this method should generally
not need to perform any further validation.
doUpdate in class AbstractUList<V>key - the index(one based) of the value to updatevalue - the new value for the specified indexAbstractUList.doUpdate(int, java.lang.Object)public int indexOf(V value)
IList
indexOf in interface IList<V>value - the value to find
IList.indexOf(java.lang.Object)
public void insert(int pos,
V value)
EList
insert in interface EList<V>pos - the position(one based) at which to insert the valuevalue - the value to insertEList.insert(int, java.lang.Object)public ListIterator<V> iterator(boolean share)
IList
iterator in interface IList<V>iterator in interface IMap<java.lang.Integer,V>share - if true this instances backing store should be
shared with the returned list, otherwise any backing store will be copied.
IMap.iterator(boolean)public int size()
IMap
size in interface IMap<java.lang.Integer,V>IMap.size()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||