edu.indiana.util.clustering
Class ArrayListPartition

java.lang.Object
  extended by edu.indiana.util.clustering.ArrayListPartition
All Implemented Interfaces:
Partition

public class ArrayListPartition
extends java.lang.Object
implements Partition

This partition class uses an ArrayList of LinkedListEquivalenceClasses to hold its equivalence classes.


Nested Class Summary
protected  class ArrayListPartition.AllMemberIterator
           
 
Field Summary
protected  Differentiator differentiator
           
protected  java.util.ArrayList eqClasses
           
 
Constructor Summary
ArrayListPartition(java.util.Collection objects, int numEqClasses, Differentiator differentiator)
           
ArrayListPartition(int numEqClasses, Differentiator differentiator)
           
ArrayListPartition(java.util.Iterator objectIter, int numEqClasses, Differentiator differentiator)
          Construct an initial partition, from a collection of objects.
ArrayListPartition(Partition partition)
           
 
Method Summary
 java.util.Iterator allMemberIterator(boolean includePrototypes)
           
 int calcMemberCount()
           
 double calcTotalDiff()
           
 java.util.Iterator eqClassIterator()
           
 Differentiator getDifferentiator()
           
 EquivalenceClass getEqClass(int eqClassID)
           
 int getEqClassCount()
           
 EquivalenceClass getNearestEqClass(EquivalenceClassMember ecm)
           
 EquivalenceClass getNearestEqClass(java.lang.Object obj)
           
 void resetEquivalenceClasses(EquivalenceClassMember[] prototypes, java.util.ArrayList allMembersList)
          prototypes already have their isPrototype field set to true nonPrototypesIter is an iterator through EquivalenceClassMember objects.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

differentiator

protected Differentiator differentiator

eqClasses

protected java.util.ArrayList eqClasses
Constructor Detail

ArrayListPartition

public ArrayListPartition(java.util.Collection objects,
                          int numEqClasses,
                          Differentiator differentiator)

ArrayListPartition

public ArrayListPartition(java.util.Iterator objectIter,
                          int numEqClasses,
                          Differentiator differentiator)
Construct an initial partition, from a collection of objects. What objects are in what class is not important (except of course that some initial assignments may lead to a faster full clustering than others). In this implementation, the first numEqClasses objects returned by the Collection's iterator are the prototypes, with the remaining objects assigned to the nearest equivalence classes, according to the given Differentiator.


ArrayListPartition

public ArrayListPartition(int numEqClasses,
                          Differentiator differentiator)

ArrayListPartition

public ArrayListPartition(Partition partition)
Method Detail

getDifferentiator

public Differentiator getDifferentiator()
Specified by:
getDifferentiator in interface Partition

resetEquivalenceClasses

public void resetEquivalenceClasses(EquivalenceClassMember[] prototypes,
                                    java.util.ArrayList allMembersList)
prototypes already have their isPrototype field set to true nonPrototypesIter is an iterator through EquivalenceClassMember objects. These objects will be mutated.

Specified by:
resetEquivalenceClasses in interface Partition

getEqClassCount

public int getEqClassCount()
Specified by:
getEqClassCount in interface Partition

getNearestEqClass

public EquivalenceClass getNearestEqClass(EquivalenceClassMember ecm)

getNearestEqClass

public EquivalenceClass getNearestEqClass(java.lang.Object obj)
Specified by:
getNearestEqClass in interface Partition

eqClassIterator

public java.util.Iterator eqClassIterator()
Specified by:
eqClassIterator in interface Partition

getEqClass

public EquivalenceClass getEqClass(int eqClassID)

allMemberIterator

public java.util.Iterator allMemberIterator(boolean includePrototypes)
Specified by:
allMemberIterator in interface Partition

calcTotalDiff

public double calcTotalDiff()
Specified by:
calcTotalDiff in interface Partition

calcMemberCount

public int calcMemberCount()
Specified by:
calcMemberCount in interface Partition

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object