Class SetUniqueList
- All Implemented Interfaces:
Serializable,Iterable,Collection,List,SequencedCollection
List to ensure that no duplicates are present
much like a Set.
The List interface makes certain assumptions/requirements.
This implementation breaks these in certain ways, but this is merely the
result of rejecting duplicates.
Each violation is explained in the method, but it should not affect you.
Bear in mind that Sets require immutable objects to function correctly.
The ListOrderedSet
class provides an alternative approach, by wrapping an existing Set and
retaining insertion order in the iterator.
This class is Serializable from Commons Collections 3.1.
- Since:
- Commons Collections 3.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidDeprecated.Adds an element to a specific index in the list if it is not already present.booleanDeprecated.Adds an element to the list if it is not already present.booleanaddAll(int index, Collection coll) Deprecated.Adds a collection of objects a specific index in the list avoiding duplicates.booleanaddAll(Collection coll) Deprecated.Adds an element to the end of the list if it is not already present.asSet()Deprecated.Gets an unmodifiable view as a Set.voidclear()Deprecated.booleanDeprecated.booleancontainsAll(Collection coll) Deprecated.static SetUniqueListDeprecated.Factory method to create a SetList using the supplied list to retain order.iterator()Deprecated.Deprecated.listIterator(int index) Deprecated.remove(int index) Deprecated.booleanDeprecated.booleanremoveAll(Collection coll) Deprecated.booleanretainAll(Collection coll) Deprecated.Deprecated.Sets the value at the specified index avoiding duplicates.subList(int fromIndex, int toIndex) Deprecated.Methods inherited from class org.apache.commons.collections.list.AbstractListDecorator
get, indexOf, lastIndexOfMethods inherited from class org.apache.commons.collections.collection.AbstractCollectionDecorator
equals, hashCode, isEmpty, size, toArray, toArray, toStringMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.List
addFirst, addLast, equals, getFirst, getLast, hashCode, isEmpty, removeFirst, removeLast, replaceAll, reversed, size, sort, spliterator, toArray, toArray
-
Method Details
-
decorate
Deprecated.Factory method to create a SetList using the supplied list to retain order.If the list contains duplicates, these are removed (first indexed one kept). A
HashSetis used for the set behaviour.- Parameters:
list- the list to decorate, must not be null- Throws:
IllegalArgumentException- if list is null
-
asSet
Deprecated.Gets an unmodifiable view as a Set.- Returns:
- an unmodifiable set view
-
add
Deprecated.Adds an element to the list if it is not already present.(Violation) The
Listinterface requires that this method returnstruealways. However this class may returnfalsebecause of theSetbehaviour.- Specified by:
addin interfaceCollection- Specified by:
addin interfaceList- Overrides:
addin classAbstractCollectionDecorator- Parameters:
object- the object to add- Returns:
- true if object was added
-
add
Deprecated.Adds an element to a specific index in the list if it is not already present.(Violation) The
Listinterface makes the assumption that the element is always inserted. This may not happen with this implementation.- Specified by:
addin interfaceList- Overrides:
addin classAbstractListDecorator- Parameters:
index- the index to insert atobject- the object to add
-
addAll
Deprecated.Adds an element to the end of the list if it is not already present.(Violation) The
Listinterface makes the assumption that the element is always inserted. This may not happen with this implementation.- Specified by:
addAllin interfaceCollection- Specified by:
addAllin interfaceList- Overrides:
addAllin classAbstractCollectionDecorator- Parameters:
coll- the collection to add
-
addAll
Deprecated.Adds a collection of objects a specific index in the list avoiding duplicates.Only elements that are not already in this list will be added, and duplicates from the specified collection will be ignored.
(Violation) The
Listinterface makes the assumption that the elements are always inserted. This may not happen with this implementation.- Specified by:
addAllin interfaceList- Overrides:
addAllin classAbstractListDecorator- Parameters:
index- the index to insert atcoll- the collection to add in iterator order- Returns:
- true if this collection changed
-
set
Deprecated.Sets the value at the specified index avoiding duplicates.The object is set into the specified index. Afterwards, any previous duplicate is removed If the object is not already in the list then a normal set occurs. If it is present, then the old version is removed.
- Specified by:
setin interfaceList- Overrides:
setin classAbstractListDecorator- Parameters:
index- the index to insert atobject- the object to set- Returns:
- the previous object
-
remove
Deprecated.- Specified by:
removein interfaceCollection- Specified by:
removein interfaceList- Overrides:
removein classAbstractCollectionDecorator
-
remove
Deprecated.- Specified by:
removein interfaceList- Overrides:
removein classAbstractListDecorator
-
removeAll
Deprecated.- Specified by:
removeAllin interfaceCollection- Specified by:
removeAllin interfaceList- Overrides:
removeAllin classAbstractCollectionDecorator
-
retainAll
Deprecated.- Specified by:
retainAllin interfaceCollection- Specified by:
retainAllin interfaceList- Overrides:
retainAllin classAbstractCollectionDecorator
-
clear
public void clear()Deprecated.- Specified by:
clearin interfaceCollection- Specified by:
clearin interfaceList- Overrides:
clearin classAbstractCollectionDecorator
-
contains
Deprecated.- Specified by:
containsin interfaceCollection- Specified by:
containsin interfaceList- Overrides:
containsin classAbstractCollectionDecorator
-
containsAll
Deprecated.- Specified by:
containsAllin interfaceCollection- Specified by:
containsAllin interfaceList- Overrides:
containsAllin classAbstractCollectionDecorator
-
iterator
Deprecated.- Specified by:
iteratorin interfaceCollection- Specified by:
iteratorin interfaceIterable- Specified by:
iteratorin interfaceList- Overrides:
iteratorin classAbstractCollectionDecorator
-
listIterator
Deprecated.- Specified by:
listIteratorin interfaceList- Overrides:
listIteratorin classAbstractListDecorator
-
listIterator
Deprecated.- Specified by:
listIteratorin interfaceList- Overrides:
listIteratorin classAbstractListDecorator
-
subList
Deprecated.- Specified by:
subListin interfaceList- Overrides:
subListin classAbstractListDecorator
-