Home

# Class goog.structs.Set

A set that can contain both primitives and objects. Adding and removing elements is O(1). Primitives are treated as identical if they have the same type and convert to the same string. Objects are treated as identical only if they are references to the same object. WARNING: A goog.structs.Set can contain both 1 and (new Number(1)), because they are not the same. WARNING: Adding (new Number(1)) twice will yield two distinct elements, because they are two different objects. WARNING: Any object that is added to a goog.structs.Set will be modified! Because goog.getUid() is used to identify objects, every object in the set will be mutated.

Instance Method Summary
| `__iterator__(boolean= opt_keys) ⇒ !goog.iter.Iterator` Returns an iterator that iterates over the elements in this set.
| `add(<Any Type> element)` Add a primitive or an object to the set.
| `addAll(?Object col)` Adds all the values in the given collection to this set.
| `clear()` Removes all elements from this set.
| `clone() ⇒ !goog.structs.Set` Creates a shallow clone of this set.
| `contains(<Any Type> element) ⇒ boolean` Tests whether this set contains the given element.
| `containsAll(?Object col) ⇒ boolean` Tests whether this set contains all the values in a given collection. Repeated elements in the collection are ignored, e.g. (new goog.structs.Set([1, 2])).containsAll([1, 1]) is True.
| `difference(?Object col) ⇒ !goog.structs.Set` Finds all values that are present in this set and not in the given collection.
| `equals(?Object col) ⇒ boolean` Tests whether the given collection consists of the same elements as this set, regardless of order, without repetition. Primitives are treated as equal if they have the same type and convert to the same string; objects are treated as equal if they are references to the same object. This operation is O(n).
| `getCount() ⇒ number`
| `getValues() ⇒ !Array` Returns an array containing all the elements in this set.
| `intersection(?Object col) ⇒ !goog.structs.Set` Finds all values that are present in both this set and the given collection.
| `isEmpty() ⇒ boolean` Tests whether this set is empty.
| `isSubsetOf(?Object col) ⇒ boolean` Tests whether the given collection contains all the elements in this set. Primitives are treated as equal if they have the same type and convert to the same string; objects are treated as equal if they are references to the same object. This operation is O(n).
| `remove(<Any Type> element) ⇒ boolean` Removes the given element from this set.
| `removeAll(?Object col)` Removes all values in the given collection from this set.

Static Method Summary
| `getKey_(<Any Type> val) ⇒ string` Obtains a unique key for an element of the set. Primitives will yield the same key if they have the same type and convert to the same string. Object references will yield the same key only if they refer to the same object.