public class LabeledList
extends java.lang.Object
implements java.util.List
Element labels maintain their consistency (remain constant) during
periods when no elements are removed from the list. When elements are
removed, the labels assigned to the remaining elements may
change (see remove(Object)
for details).
Elements themselves must be non-null and distinct, as determined by the
equals
method.
This class supports all required operations of
the List
interface, except
for the List.subList(int, int)
operation,
which results in an UnsupportedOperationException.
Constructor and Description |
---|
LabeledList()
Construct an empty list.
|
LabeledList(int size)
Construct an empty list with enough storage allocated to hold
the specified number of elements.
|
Modifier and Type | Method and Description |
---|---|
void |
add(int index,
java.lang.Object element)
Unsupported optional method of the List interface.
|
boolean |
add(java.lang.Object element)
Add an element to the list.
|
boolean |
addAll(java.util.Collection collection)
Unsupported optional method of the List interface.
|
boolean |
addAll(int index,
java.util.Collection collection)
Unsupported optional method of the List interface.
|
void |
clear()
Clear all of the elements in this list.
|
boolean |
contains(java.lang.Object object)
Return true if the specified object is an element of this list.
|
boolean |
containsAll(java.util.Collection collection)
Returns true if this list contains all of the elements of the
specified collection.
|
boolean |
equals(java.lang.Object object)
Compares the specified object with this list for equality.
|
java.lang.Object |
get(int label)
Return the element that has a specified label.
|
int |
hashCode()
Return the hash code value for this list.
|
int |
indexOf(java.lang.Object element)
Return the label in this list of the specified
element; return -1 if the element is null or this list does not
contain the element.
|
boolean |
isEmpty()
Returns true if this list contains no elements.
|
java.util.Iterator |
iterator()
Return an iterator over the elements in the list.
|
int |
label(java.lang.Object element)
Return the label of the specified element.
|
int |
lastIndexOf(java.lang.Object element)
Returns the index in this list of the last occurrence of the specified
element, or -1 if this list does not contain this element.
|
java.util.ListIterator |
listIterator()
Return a list iterator over the elements in the list.
|
java.util.ListIterator |
listIterator(int index)
Return a list iterator over the elements in this list, starting
at a specified position in the list.
|
java.lang.Object |
remove(int label)
Remove and return an element with a specified label from this list.
|
boolean |
remove(java.lang.Object element)
Remove an element from this list.
|
boolean |
removeAll(java.util.Collection collection)
Unsupported optional method of the List interface.
|
boolean |
retainAll(java.util.Collection collection)
Unsupported optional method of the List interface.
|
java.lang.Object |
set(int index,
java.lang.Object element)
Unsupported optional method of the List interface.
|
int |
size()
Return the number of elements in this list.
|
java.util.List |
subList(int fromIndex,
int toIndex)
Unsupported method of the List interface.
|
java.lang.Object[] |
toArray()
Returns an array containing all of the elements in this list in
proper sequence.
|
java.lang.Object[] |
toArray(java.lang.Object[] array)
Returns an array containing all of the elements in this list in
proper sequence; the runtime type of the returned array is that of
the specified array.
|
java.lang.String |
toString()
Return a string representation of this list with elements separated
by new lines, and element labels omitted from the representation.
|
java.lang.String |
toString(java.lang.String delimiter,
boolean includeLabels)
Return a string representation of this list, given a delimiter
for separating successive elements, and a flag that indicates
whether element labels should be included in the string.
|
public LabeledList()
public LabeledList(int size)
size
- The number of elements.public boolean add(java.lang.Object element)
add
in interface java.util.Collection
add
in interface java.util.List
element
- The element to insert.java.lang.IllegalArgumentException
- If the specified element is null,
or if it already exists in the list.public void add(int index, java.lang.Object element)
add
in interface java.util.List
index
- Unused.element
- Unused.java.lang.UnsupportedOperationException
- Always thrown.public boolean addAll(java.util.Collection collection)
addAll
in interface java.util.Collection
addAll
in interface java.util.List
collection
- Unused.java.lang.UnsupportedOperationException
- Always thrown.public boolean addAll(int index, java.util.Collection collection)
addAll
in interface java.util.List
index
- Unused.collection
- Unused.java.lang.UnsupportedOperationException
- Always thrown.public void clear()
clear
in interface java.util.Collection
clear
in interface java.util.List
public boolean contains(java.lang.Object object)
contains
in interface java.util.Collection
contains
in interface java.util.List
object
- The specified object.public boolean containsAll(java.util.Collection collection)
containsAll
in interface java.util.Collection
containsAll
in interface java.util.List
collection
- The specified collection.public boolean equals(java.lang.Object object)
equals
in interface java.util.Collection
equals
in interface java.util.List
equals
in class java.lang.Object
object
- The object.public java.lang.Object get(int label)
get
in interface java.util.List
label
- The label.java.lang.IndexOutOfBoundsException
- If there is no element that
has the specified label.public int hashCode()
hashCode
in interface java.util.Collection
hashCode
in interface java.util.List
hashCode
in class java.lang.Object
public int indexOf(java.lang.Object element)
indexOf
in interface java.util.List
element
- The element.label(Object)
public boolean isEmpty()
isEmpty
in interface java.util.Collection
isEmpty
in interface java.util.List
public java.util.Iterator iterator()
iterator
in interface java.lang.Iterable
iterator
in interface java.util.Collection
iterator
in interface java.util.List
public final int label(java.lang.Object element)
element
- The specified element.java.lang.IllegalArgumentException
- If the specified element is not
in this list.java.lang.NullPointerException
- If the specified element is null.indexOf(Object)
public int lastIndexOf(java.lang.Object element)
indexOf(Object)
, and is maintained only for conformance
with the list interface.lastIndexOf
in interface java.util.List
public java.util.ListIterator listIterator()
listIterator
in interface java.util.List
public java.util.ListIterator listIterator(int index)
listIterator
in interface java.util.List
index
- The specified starting position.public boolean remove(java.lang.Object element)
remove
in interface java.util.Collection
remove
in interface java.util.List
element
- The element.public java.lang.Object remove(int label)
remove
in interface java.util.List
label
- The specified label.java.lang.IndexOutOfBoundsException
- If there is no element with
the specified label.public boolean removeAll(java.util.Collection collection)
removeAll
in interface java.util.Collection
removeAll
in interface java.util.List
collection
- Unused.java.lang.UnsupportedOperationException
- Always thrown.public boolean retainAll(java.util.Collection collection)
retainAll
in interface java.util.Collection
retainAll
in interface java.util.List
collection
- Unused.java.lang.UnsupportedOperationException
- Always thrown.public java.lang.Object set(int index, java.lang.Object element)
set
in interface java.util.List
index
- Unused.element
- Unused.java.lang.UnsupportedOperationException
- Always thrown.public int size()
size
in interface java.util.Collection
size
in interface java.util.List
public java.util.List subList(int fromIndex, int toIndex)
subList
in interface java.util.List
fromIndex
- Unused.toIndex
- Unused.java.lang.UnsupportedOperationException
- Always thrown.public java.lang.Object[] toArray()
toArray
in interface java.util.Collection
toArray
in interface java.util.List
public java.lang.Object[] toArray(java.lang.Object[] array)
toArray
in interface java.util.Collection
toArray
in interface java.util.List
array
- The specified array.public java.lang.String toString(java.lang.String delimiter, boolean includeLabels)
delimiter
- The delimiter that separates elements in the
generated string.includeLabels
- If this is true, then precede each
element with its label (followed by a colon and space) in the
generated string; otherwise, omit the labels.public java.lang.String toString()
toString
in class java.lang.Object