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 }