001 /** 002 * Created by IntelliJ IDEA. 003 * User: Wei Wang 004 * Date: Jan 9, 2003 005 * Time: 4:10:19 PM 006 */ 007 package EVolve.util.Equators; 008 009 import java.util.ArrayList; 010 011 public class NormalUnorderedSet extends OrderedSet{ 012 013 public NormalUnorderedSet(int interval) { 014 super(interval); 015 } 016 017 public Set union(Set set) { 018 ArrayList temp= new ArrayList(); 019 020 for (int i=0; i<size; i++) { 021 if (!temp.contains(new Integer(data[i]))) 022 temp.add(new Integer(data[i])); 023 } 024 025 for (int i=0; i<set.size(); i++) { 026 if (!temp.contains(new Integer(set.getElement(i)))) 027 temp.add(new Integer(set.getElement(i))); 028 } 029 030 Set result = new NormalUnorderedSet(temp.size()); 031 for (int i=0; i<temp.size(); i++) { 032 result.addElement(((Integer)temp.get(i)).intValue()); 033 } 034 035 return result; 036 } 037 038 public Set newSet() { 039 return new NormalUnorderedSet(size); 040 } 041 042 public boolean equals(Set set, float percent) { 043 float counter = 0; 044 Set intersection = this.intersection(set); 045 046 for (int i=0; i<data.length; i++) { 047 if (intersection.exist(data[i])) 048 counter++; 049 } 050 051 for (int i=0; i<set.size(); i++) { 052 if (intersection.exist(set.getElement(i))) 053 counter++; 054 } 055 056 return ((100*counter/(size+set.size())) >= percent); 057 } 058 }