WebObjects 5.3

com.webobjects.foundation
Class NSMutableSet

java.lang.Object
  extended bycom.webobjects.foundation.NSSet
      extended bycom.webobjects.foundation.NSMutableSet
All Implemented Interfaces:
Cloneable, Collection, NSCoding, Serializable, Set

public class NSMutableSet
extends NSSet

NSMutableSet provides support for the mathematical concept of a set which, unlike its parent NSSet, may have members added or removed after its creation.

The following table describes the NSMutableSet methods that provide the basis for all NSMutableSet's other methods; that is, all other methods are implemented in terms of these five. If you create a subclass of NSMutableSet, you need only ensure that these base methods work properly. Having done so, you can be sure that all your subclass's inherited methods operate properly.

NSMutableSet's Base API
MethodDescription
count Returns the number of members in the set.
member Returns the object in the set that is equal to the specified object.
objectsNoCopy Returns the actual array of objects in the set.
removeAllObjects Empties the set of all its members.
removeObject Removes the specified object from the set.

Objects are removed from an NSMutableSet using any of the methods intersectSet, removeAllObjects, removeObject or subtractSet.

Objects are added to an NSMutableSet with addObject, which adds a single object to the set; addObjectsFromArray, which adds all objects from a specified array to the set; or with unionSet, which adds all the objects from another set.

Methods that add entries to sets, whether during construction (for all sets) or modification (for mutable sets), add each member to the set directly. This means that you must ensure that the members do not change. If the members are expected to change for any reason, you should make copies of them and add the copies to the set or otherwise guarentee that the members do not change with respect to either the equals or hashCode methods.

See Also:
Set, HashSet, addObject(java.lang.Object), removeObject(java.lang.Object), removeAllObjects(), unionSet(com.webobjects.foundation.NSSet), intersectSet(com.webobjects.foundation.NSSet), subtractSet(com.webobjects.foundation.NSSet), addObjectsFromArray(com.webobjects.foundation.NSArray), Serialized Form

Nested Class Summary
 
Nested classes inherited from class com.webobjects.foundation.NSCoding
NSCoding.Support
 
Field Summary
 
Fields inherited from class com.webobjects.foundation.NSSet
EmptySet
 
Constructor Summary
NSMutableSet()
          Creates an empty NSMutableSet.
NSMutableSet(int capacity)
          Creates an empty NSMutableSet prepared to hold at least capacity members.
NSMutableSet(NSArray objects)
          Creates an NSMutableSet containing the all the elements in objects.
NSMutableSet(NSSet otherSet)
          Creates an NSMutableSet containing all the members in otherSet.
NSMutableSet(Object object)
          Creates an NSMutableSet containing a single object object.
NSMutableSet(Object[] objects)
          Creates an NSMutableSet containing the all the elements in objects.
 
Method Summary
 void addObject(Object object)
          Adds the specified object to this set if it is not already a member.
 void addObjectsFromArray(NSArray array)
          Adds each object contained in array to this set, if the object is not already a member.
 Object clone()
          Creates a clone of the receiver.
 NSSet immutableClone()
          Creates a new NSSet which has the same members as this set.
 void intersectSet(NSSet otherSet)
          Removes from this set each object that is not a member of otherSet.
 NSMutableSet mutableClone()
          Creates a new NSMutableSet which has the same members as this set.
 void removeAllObjects()
          Empties the set of all its members.
 Object removeObject(Object object)
          Removes object from the set.
 void setSet(NSSet otherSet)
          Makes this set contain exactly the same members as otherSet The current members in this set are discarded.
 void subtractSet(NSSet otherSet)
          Removes from this set each object contained in otherSet that is also currently a member of this set.
 void unionSet(NSSet otherSet)
          Adds each object contained in otherSet to this set, if that object is not already a member.
 
Methods inherited from class com.webobjects.foundation.NSSet
add, addAll, allObjects, anyObject, classForCoder, clear, contains, containsAll, containsObject, count, decodeObject, encodeWithCoder, equals, hashCode, hashSet, intersectsSet, isEmpty, isEqualToSet, isSubsetOfSet, iterator, member, objectEnumerator, objectsNoCopy, remove, removeAll, retainAll, setByIntersectingSet, setBySubtractingSet, setByUnioningSet, size, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NSMutableSet

public NSMutableSet()
Creates an empty NSMutableSet.

For better performance, one should use NSMutableSet(int capacity) instead.

See Also:
NSMutableSet(int capacity)

NSMutableSet

public NSMutableSet(int capacity)
Creates an empty NSMutableSet prepared to hold at least capacity members. NSMutableSets grow as necessary, so this is a recommended performance enhancement.

Parameters:
capacity - a size hint for the expected number of members

NSMutableSet

public NSMutableSet(Object object)
Creates an NSMutableSet containing a single object object.

Note: NSMutableSet assumes that member objects are immutable. If your member objects are mutable, you should make copies of them and add the copies to the set.

Parameters:
object - the single member object contained in the set

NSMutableSet

public NSMutableSet(Object[] objects)
Creates an NSMutableSet containing the all the elements in objects.

Note: NSMutableSet assumes that member objects are immutable. If your member objects are mutable, you should make copies of them and add the copies to the set.

Parameters:
objects - an array of initial members for the new set

NSMutableSet

public NSMutableSet(NSArray objects)
Creates an NSMutableSet containing the all the elements in objects.

Note: NSMutableSet assumes that member objects are immutable. If your member objects are mutable, you should make copies of them and add the copies to the set.

Parameters:
objects - an array of initial members for the new set

NSMutableSet

public NSMutableSet(NSSet otherSet)
Creates an NSMutableSet containing all the members in otherSet. One should use mutableClone instead.

Parameters:
otherSet - the set to duplicate
See Also:
mutableClone()
Method Detail

addObject

public void addObject(Object object)
Adds the specified object to this set if it is not already a member.

If object is already present in the set, this method has no effect on either the set or on object.

Note: NSMutableSet assumes that member objects are immutable. If your member objects are mutable, you should make copies of them and add the copies to the set.

Parameters:
object - the new member
See Also:
addObjectsFromArray(com.webobjects.foundation.NSArray), unionSet(com.webobjects.foundation.NSSet)

addObjectsFromArray

public void addObjectsFromArray(NSArray array)
Adds each object contained in array to this set, if the object is not already a member. If a given element of the array is already present in the set, this method has no effect on either the set or on the array element.

Note: NSMutableSet assumes that member objects are immutable. If your member objects are mutable, you should make copies of them and add the copies to the set.

Parameters:
array - objects are contained in this
See Also:
addObject(java.lang.Object), unionSet(com.webobjects.foundation.NSSet)

clone

public Object clone()
Creates a clone of the receiver. NSMutableSet's implementation simply creates a new NSMutableSet with the same members as this set.

Overrides:
clone in class NSSet
Returns:
creates a clone of this NSMutableSet
See Also:
Object.clone(), immutableClone(), mutableClone()

immutableClone

public NSSet immutableClone()
Creates a new NSSet which has the same members as this set.

Overrides:
immutableClone in class NSSet
Returns:
an immutable copy (an NSSet) of this set.
See Also:
Object.clone(), mutableClone()

intersectSet

public void intersectSet(NSSet otherSet)
Removes from this set each object that is not a member of otherSet.

Parameters:
otherSet - objects that are not members of otherSet are removed
See Also:
removeObject(java.lang.Object), removeAllObjects(), subtractSet(com.webobjects.foundation.NSSet)

mutableClone

public NSMutableSet mutableClone()
Creates a new NSMutableSet which has the same members as this set.

Overrides:
mutableClone in class NSSet
Returns:
an NSMutableSet which is a duplicate of this set
See Also:
Object.clone(), immutableClone()

removeAllObjects

public void removeAllObjects()
Empties the set of all its members.

See Also:
removeObject(java.lang.Object), intersectSet(com.webobjects.foundation.NSSet), subtractSet(com.webobjects.foundation.NSSet)

removeObject

public Object removeObject(Object object)
Removes object from the set.

Parameters:
object - object that is to be removed from the set
Returns:
the equivalent object removed from this set, or null if object was not a member
See Also:
removeAllObjects(), intersectSet(com.webobjects.foundation.NSSet), subtractSet(com.webobjects.foundation.NSSet)

setSet

public void setSet(NSSet otherSet)
Makes this set contain exactly the same members as otherSet The current members in this set are discarded.

Parameters:
otherSet - the new members for this set

subtractSet

public void subtractSet(NSSet otherSet)
Removes from this set each object contained in otherSet that is also currently a member of this set. If any member of otherSet is not present in this set, this method has no effect on that member.

Parameters:
otherSet - objects contained in otherSet are removed if they are also members of this set
See Also:
removeObject(java.lang.Object), removeAllObjects(), intersectSet(com.webobjects.foundation.NSSet)

unionSet

public void unionSet(NSSet otherSet)
Adds each object contained in otherSet to this set, if that object is not already a member. If any member of otherSet is already a member of this set, this method has no effect on that member.

Parameters:
otherSet - each object contained in otherSet are added to this set
See Also:
addObject(java.lang.Object), addObjectsFromArray(com.webobjects.foundation.NSArray)

Last updated Thu May 26 13:46:12 PDT 2005.

Copyright © 2005 Apple Computer, Inc.