© 1998-2002 McGraw-Hill

structure
Interface Set

All Superinterfaces:
Structure
All Known Implementing Classes:
AbstractSet

public interface Set
extends Structure

Implementation of a set of elements. As with the mathematical object, the elements of the set are not duplicated. No order is implied or enforced in this structure, but simple set operations such as intersection, union, difference, and subset are provided.

Example Usage: Given a list of students who completed a computer science thesis in the 2001-2002 academic year at Williams College and a list of graduating computer science majors who are continuing on to graduate school, we could determine which thesis students are planning to attend graduate school as follows:

 public static void main(String[] argv){
	//thesis students in the class of '02
	String[] thesis = new String[]{"Doug", "Evan", "Feng"};
	
	//students continuing on to grad school
	String[] grad = new String[]{"Doug", "Feng", "Lida"};

	//instantiate our sets
	Set thesisSet = new SetVector.SetVector(), 
	    gradSet = new SetVector.SetVector();
		
	//build sets up
	for(int i = 0; i < thesis.length; i++) thesisSet.add(thesis[i]);
	for(int i = 0; i < grad.length; i++) gradSet.add(grad[i]);
	
	//calculate the intersection of the two sets
	thesisSet.retainAll(gradSet);
	System.out.println(thesisSet);
 }
 


Method Summary
 void addAll(Structure other)
          Union other set into this set.
 boolean containsAll(Structure other)
          Check to see if this set is contained in the other structure.
 void removeAll(Structure other)
          Computes the difference between this set and the other structure
 void retainAll(Structure other)
          Computes the intersection between this set and the other structure.
 
Methods inherited from interface structure.Structure
add, clear, contains, elements, isEmpty, iterator, remove, size, values
 

Method Detail

addAll

public void addAll(Structure other)
Union other set into this set.
Precondition:
other is non-null
Postcondition:
values from other are added into this set

containsAll

public boolean containsAll(Structure other)
Check to see if this set is contained in the other structure.
Precondition:
other is non-null
Postcondition:
returns true if every value in set is in other

removeAll

public void removeAll(Structure other)
Computes the difference between this set and the other structure
Precondition:
other is non-null
Postcondition:
values of this set contained in other are removed

retainAll

public void retainAll(Structure other)
Computes the intersection between this set and the other structure.
Precondition:
other is non-null
Postcondition:
values not appearing in the other structure are removed

© 1998-2002 McGraw-Hill