| java.lang.Object org.apache.commons.collections.SetUtils
SetUtils | public class SetUtils (Code) | | Provides utility methods and decorators for
Set and
SortedSet instances.
since: Commons Collections 2.1 version: $Revision: 155406 $ $Date: 2005-02-26 12:55:26 +0000 (Sat, 26 Feb 2005) $ author: Paul Jack author: Stephen Colebourne author: Neil O'Toole author: Matthew Hawthorne |
Constructor Summary | |
public | SetUtils() SetUtils should not normally be instantiated. |
EMPTY_SET | final public static Set EMPTY_SET(Code) | | An empty unmodifiable set.
This uses the
Collections implementation
and is provided for completeness.
|
EMPTY_SORTED_SET | final public static SortedSet EMPTY_SORTED_SET(Code) | | An empty unmodifiable sorted set.
This is not provided in the JDK.
|
SetUtils | public SetUtils()(Code) | | SetUtils should not normally be instantiated.
|
hashCodeForSet | public static int hashCodeForSet(Collection set)(Code) | | Generates a hash code using the algorithm specified in
java.util.Set.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.
See Also: java.util.Set.hashCode Parameters: set - the set to calculate the hash code for, may be null the hash code |
isEqualSet | public static boolean isEqualSet(Collection set1, Collection set2)(Code) | | Tests two sets for equality as per the equals() contract
in
java.util.Set.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).
See Also: java.util.Set Parameters: set1 - the first set, may be null Parameters: set2 - the second set, may be null whether the sets are equal by value comparison |
orderedSet | public static Set orderedSet(Set set)(Code) | | 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.
Parameters: set - the set to order, must not be null an ordered set backed by the given set throws: IllegalArgumentException - if the Set is null |
predicatedSet | public static Set predicatedSet(Set set, Predicate predicate)(Code) | | 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.
Parameters: set - the set to predicate, must not be null Parameters: predicate - the predicate for the set, must not be null a predicated set backed by the given set throws: IllegalArgumentException - if the Set or Predicate is null |
predicatedSortedSet | public static SortedSet predicatedSortedSet(SortedSet set, Predicate predicate)(Code) | | 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.
Parameters: set - the sorted set to predicate, must not be null Parameters: predicate - the predicate for the sorted set, must not be null a predicated sorted set backed by the given sorted set throws: IllegalArgumentException - if the Set or Predicate is null |
synchronizedSet | public static Set synchronizedSet(Set set)(Code) | | 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.
Parameters: set - the set to synchronize, must not be null a synchronized set backed by the given set throws: IllegalArgumentException - if the set is null |
synchronizedSortedSet | public static SortedSet synchronizedSortedSet(SortedSet set)(Code) | | 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.
Parameters: set - the sorted set to synchronize, must not be null a synchronized set backed by the given set throws: IllegalArgumentException - if the set is null |
transformedSet | public static Set transformedSet(Set set, Transformer transformer)(Code) | | 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.
Parameters: set - the set to transform, must not be null Parameters: transformer - the transformer for the set, must not be null a transformed set backed by the given set throws: IllegalArgumentException - if the Set or Transformer is null |
transformedSortedSet | public static SortedSet transformedSortedSet(SortedSet set, Transformer transformer)(Code) | | 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.
Parameters: set - the set to transform, must not be null Parameters: transformer - the transformer for the set, must not be null a transformed set backed by the given set throws: IllegalArgumentException - if the Set or Transformer is null |
typedSet | public static Set typedSet(Set set, Class type)(Code) | | Returns a typed set backed by the given set.
Only objects of the specified type can be added to the set.
Parameters: set - the set to limit to a specific type, must not be null Parameters: type - the type of objects which may be added to the set a typed set backed by the specified set |
typedSortedSet | public static SortedSet typedSortedSet(SortedSet set, Class type)(Code) | | Returns a typed sorted set backed by the given set.
Only objects of the specified type can be added to the set.
Parameters: set - the set to limit to a specific type, must not be null Parameters: type - the type of objects which may be added to the set a typed set backed by the specified set |
unmodifiableSet | public static Set unmodifiableSet(Set set)(Code) | | Returns an unmodifiable set backed by the given set.
This method uses the implementation in the decorators subpackage.
Parameters: set - the set to make unmodifiable, must not be null an unmodifiable set backed by the given set throws: IllegalArgumentException - if the set is null |
unmodifiableSortedSet | public static SortedSet unmodifiableSortedSet(SortedSet set)(Code) | | Returns an unmodifiable sorted set backed by the given sorted set.
This method uses the implementation in the decorators subpackage.
Parameters: set - the sorted set to make unmodifiable, must not be null an unmodifiable set backed by the given set throws: IllegalArgumentException - if the set is null |
|
|