java.lang.Object | |
↳ | org.apache.commons.collections.SetUtils |
Provides utility methods and decorators for Set and SortedSet instances.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EMPTY_SET | An empty unmodifiable set. | ||||||||||
EMPTY_SORTED_SET | An empty unmodifiable sorted set. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
SetUtils should not normally be instantiated. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Generates a hash code using the algorithm specified in
hashCode() . | |||||||||||
Tests two sets for equality as per the
equals() contract
in equals(java.lang.Object) . | |||||||||||
Returns a set that maintains the order of elements that are added
backed by the given set.
| |||||||||||
Returns a predicated (validating) set backed by the given set.
| |||||||||||
Returns a predicated (validating) sorted set backed by the given sorted set.
| |||||||||||
Returns a synchronized set backed by the given set.
| |||||||||||
Returns a synchronized sorted set backed by the given sorted set.
| |||||||||||
Returns a transformed set backed by the given set.
| |||||||||||
Returns a transformed sorted set backed by the given set.
| |||||||||||
Returns a typed set backed by the given set.
| |||||||||||
Returns a typed sorted set backed by the given set.
| |||||||||||
Returns an unmodifiable set backed by the given set.
| |||||||||||
Returns an unmodifiable sorted set backed by the given sorted set.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
An empty unmodifiable set. This uses the Collections implementation and is provided for completeness.
An empty unmodifiable sorted set. This is not provided in the JDK.
SetUtils
should not normally be instantiated.
Generates a hash code using the algorithm specified in
hashCode()
.
This method is useful for implementing Set
when you cannot
extend AbstractSet. The method takes Collection instances to enable other
collection types to use the Set implementation algorithm.
set | the set to calculate the hash code for, may be null |
---|
Tests two sets for equality as per the equals()
contract
in equals(java.lang.Object)
.
This method is useful for implementing Set
when you cannot
extend AbstractSet. The method takes Collection instances to enable other
collection types to use the Set implementation algorithm.
The relevant text (slightly paraphrased as this is a static method) is:
Two sets are considered equal if they have the same size, and every member of the first set is contained in the second. This ensures that the equals method works properly across different implementations of the Set interface.
This implementation first checks if the two sets are the same object: if so it returns true. Then, it checks if the two sets are identical in size; if not, it returns false. If so, it returns a.containsAll((Collection) b).
set1 | the first set, may be null |
---|---|
set2 | the second set, may be null |
Returns a set that maintains the order of elements that are added backed by the given set.
If an element is added twice, the order is determined by the first add. The order is observed through the iterator or toArray.
set | the set to order, must not be null |
---|
IllegalArgumentException | if the Set is null |
---|
Returns a predicated (validating) set backed by the given set.
Only objects that pass the test in the given predicate can be added to the set. Trying to add an invalid object results in an IllegalArgumentException. It is important not to use the original set after invoking this method, as it is a backdoor for adding invalid objects.
set | the set to predicate, must not be null |
---|---|
predicate | the predicate for the set, must not be null |
IllegalArgumentException | if the Set or Predicate is null |
---|
Returns a predicated (validating) sorted set backed by the given sorted set.
Only objects that pass the test in the given predicate can be added to the set. Trying to add an invalid object results in an IllegalArgumentException. It is important not to use the original set after invoking this method, as it is a backdoor for adding invalid objects.
set | the sorted set to predicate, must not be null |
---|---|
predicate | the predicate for the sorted set, must not be null |
IllegalArgumentException | if the Set or Predicate is null |
---|
Returns a synchronized set backed by the given set.
You must manually synchronize on the returned buffer's iterator to avoid non-deterministic behavior:
Set s = SetUtils.synchronizedSet(mySet); synchronized (s) { Iterator i = s.iterator(); while (i.hasNext()) { process (i.next()); } }This method uses the implementation in the decorators subpackage.
set | the set to synchronize, must not be null |
---|
IllegalArgumentException | if the set is null |
---|
Returns a synchronized sorted set backed by the given sorted set.
You must manually synchronize on the returned buffer's iterator to avoid non-deterministic behavior:
Set s = SetUtils.synchronizedSet(mySet); synchronized (s) { Iterator i = s.iterator(); while (i.hasNext()) { process (i.next()); } }This method uses the implementation in the decorators subpackage.
set | the sorted set to synchronize, must not be null |
---|
IllegalArgumentException | if the set is null |
---|
Returns a transformed set backed by the given set.
Each object is passed through the transformer as it is added to the Set. It is important not to use the original set after invoking this method, as it is a backdoor for adding untransformed objects.
set | the set to transform, must not be null |
---|---|
transformer | the transformer for the set, must not be null |
IllegalArgumentException | if the Set or Transformer is null |
---|
Returns a transformed sorted set backed by the given set.
Each object is passed through the transformer as it is added to the Set. It is important not to use the original set after invoking this method, as it is a backdoor for adding untransformed objects.
set | the set to transform, must not be null |
---|---|
transformer | the transformer for the set, must not be null |
IllegalArgumentException | if the Set or Transformer is null |
---|
Returns a typed set backed by the given set.
Only objects of the specified type can be added to the set.
set | the set to limit to a specific type, must not be null |
---|---|
type | the type of objects which may be added to the set |
Returns a typed sorted set backed by the given set.
Only objects of the specified type can be added to the set.
set | the set to limit to a specific type, must not be null |
---|---|
type | the type of objects which may be added to the set |
Returns an unmodifiable set backed by the given set.
This method uses the implementation in the decorators subpackage.
set | the set to make unmodifiable, must not be null |
---|
IllegalArgumentException | if the set is null |
---|
Returns an unmodifiable sorted set backed by the given sorted set.
This method uses the implementation in the decorators subpackage.
set | the sorted set to make unmodifiable, must not be null |
---|
IllegalArgumentException | if the set is null |
---|