|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.commons.collections.collection.AbstractCollectionDecorator | +--org.apache.commons.collections.set.AbstractSetDecorator | +--org.apache.commons.collections.set.ListOrderedSet
Decorates another Set
to ensure that the order of addition
is retained and used by the iterator.
If an object is added to the set for a second time, it will remain in the original position in the iteration. The order can be observed from the set via the iterator or toArray methods.
The ListOrderedSet also has various useful direct methods. These include many
from List
, such as get(int)
, remove(int)
and indexOf(int)
. An unmodifiable List
view of
the set can be obtained via asList()
.
This class cannot implement the List
interface directly as
various interface methods (notably equals/hashCode) are incompatable with a set.
Field Summary | |
protected List |
setOrder
Internal list to hold the sequence of objects |
Fields inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator |
collection |
Constructor Summary | |
protected |
ListOrderedSet(Set set)
Constructor that wraps (not copies). |
protected |
ListOrderedSet(Set set,
List list)
Constructor that wraps (not copies) the Set and specifies the list to use. |
Method Summary | |
void |
add(int index,
Object object)
|
boolean |
add(Object object)
|
boolean |
addAll(Collection coll)
|
boolean |
addAll(int index,
Collection coll)
|
List |
asList()
Gets an unmodifiable view of the order of the Set. |
void |
clear()
|
static ListOrderedSet |
decorate(List list)
Factory method to create an ordered set using the supplied list to retain order. |
static ListOrderedSet |
decorate(Set set)
Factory method to create an ordered set. |
Object |
get(int index)
|
int |
indexOf(Object object)
|
Iterator |
iterator()
|
Object |
remove(int index)
|
boolean |
remove(Object object)
|
boolean |
removeAll(Collection coll)
|
boolean |
retainAll(Collection coll)
|
Object[] |
toArray()
|
Object[] |
toArray(Object[] a)
|
String |
toString()
Uses the underlying List's toString so that order is achieved. |
Methods inherited from class org.apache.commons.collections.set.AbstractSetDecorator |
getSet |
Methods inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator |
contains, containsAll, equals, getCollection, hashCode, isEmpty, size |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Set |
contains, containsAll, equals, hashCode, isEmpty, size |
Field Detail |
protected final List setOrder
Constructor Detail |
protected ListOrderedSet(Set set)
set
- the set to decorate, must not be nullIllegalArgumentException
- if set is nullprotected ListOrderedSet(Set set, List list)
The set and list must both be correctly initialised to the same elements.
set
- the set to decorate, must not be nulllist
- the list to decorate, must not be nullIllegalArgumentException
- if set or list is nullMethod Detail |
public static ListOrderedSet decorate(Set set)
An ArrayList
is used to retain order.
set
- the set to decorate, must not be nullIllegalArgumentException
- if set is nullpublic static ListOrderedSet decorate(List list)
A HashSet
is used for the set behaviour.
list
- the list to decorate, must not be nullIllegalArgumentException
- if set is nullpublic List asList()
public void clear()
clear
in interface Set
clear
in class AbstractCollectionDecorator
public Iterator iterator()
iterator
in interface Set
iterator
in class AbstractCollectionDecorator
public boolean add(Object object)
add
in interface Set
add
in class AbstractCollectionDecorator
public boolean addAll(Collection coll)
addAll
in interface Set
addAll
in class AbstractCollectionDecorator
public boolean remove(Object object)
remove
in interface Set
remove
in class AbstractCollectionDecorator
public boolean removeAll(Collection coll)
removeAll
in interface Set
removeAll
in class AbstractCollectionDecorator
public boolean retainAll(Collection coll)
retainAll
in interface Set
retainAll
in class AbstractCollectionDecorator
public Object[] toArray()
toArray
in interface Set
toArray
in class AbstractCollectionDecorator
public Object[] toArray(Object[] a)
toArray
in interface Set
toArray
in class AbstractCollectionDecorator
public Object get(int index)
public int indexOf(Object object)
public void add(int index, Object object)
public boolean addAll(int index, Collection coll)
public Object remove(int index)
public String toString()
toString
in class AbstractCollectionDecorator
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |