com.google.inject.internal
Class Sets

java.lang.Object
  extended by com.google.inject.internal.Sets

public final class Sets
extends Object

Static utility methods pertaining to Set instances. Also see this class's counterparts Lists and Maps.

Author:
Kevin Bourrillion, Jared Levy

Method Summary
static
<E> HashSet<E>
newHashSet()
          Creates an empty HashSet instance.
static
<E> LinkedHashSet<E>
newLinkedHashSet()
          Creates an empty LinkedHashSet instance.
static
<E> Set<E>
newSetFromMap(Map<E,Boolean> map)
          Returns a set backed by the specified map.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newHashSet

public static <E> HashSet<E> newHashSet()
Creates an empty HashSet instance.

Note: if E is an Enum type, use EnumSet.noneOf(java.lang.Class) instead.

Note: if you need an immutable empty Set, use Collections.emptySet() instead.

Returns:
a newly created, empty HashSet

newLinkedHashSet

public static <E> LinkedHashSet<E> newLinkedHashSet()
Creates an empty LinkedHashSet instance.

Returns:
a newly created, empty LinkedHashSet

newSetFromMap

public static <E> Set<E> newSetFromMap(Map<E,Boolean> map)
Returns a set backed by the specified map. The resulting set displays the same ordering, concurrency, and performance characteristics as the backing map. In essence, this factory method provides a Set implementation corresponding to any Map implementation. There is no need to use this method on a Map implementation that already has a corresponding Set implementation (such as HashMap or TreeMap).

Each method invocation on the set returned by this method results in exactly one method invocation on the backing map or its keySet view, with one exception. The addAll method is implemented as a sequence of put invocations on the backing map.

The specified map must be empty at the time this method is invoked, and should not be accessed directly after this method returns. These conditions are ensured if the map is created empty, passed directly to this method, and no reference to the map is retained, as illustrated in the following code fragment:

    Set<Object> identityHashSet = Sets.newSetFromMap(
        new IdentityHashMap<Object, Boolean>()); 
This method has the same behavior as the JDK 6 method Collections.newSetFromMap(). The returned set is serializable if the backing map is.

Parameters:
map - the backing map
Returns:
the set backed by the map
Throws:
IllegalArgumentException - if map is not empty


Copyright © 2006-2011 Google, Inc.. All Rights Reserved.