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    }