package org.seqcode.ml.clustering; import java.util.Collection; import java.util.HashSet; import java.util.Set; /** * @author tdanford * */ public class DefaultCluster<X> implements Cluster<X> { private HashSet<X> elmts; public DefaultCluster() { elmts = new HashSet<X>(); } public DefaultCluster(X v) { elmts = new HashSet<X>(); elmts.add(v); } public DefaultCluster(Collection<X> v) { elmts = new HashSet<X>(v); } public void addElement(X v) { elmts.add(v); } public void clear() { elmts.clear(); } /* (non-Javadoc) * @see org.seqcode.gse.clustering.Cluster#getElements() */ public Set<X> getElements() { return new HashSet<X>(elmts); } /* (non-Javadoc) * @see org.seqcode.gse.clustering.Cluster#size() */ public int size() { return elmts.size(); } public String toString() { StringBuilder sb = new StringBuilder(); sb.append("cluster["); boolean first = true; for(X elmt : elmts) { if(!first) { sb.append(","); } first = false; sb.append(elmt.toString()); } sb.append("]"); return sb.toString(); } }