package java.util;

/**
 * Title:
 * Description:
 * Copyright:    Copyright (c) 2001
 * Company:
 * @version 1.0
 */

public abstract class AbstractSet extends AbstractCollection implements Set
    {
        protected AbstractSet()
            {
            }

        public boolean equals(Object o)
            {
                if(this==o)
                    return true;
                if(o==null)
                    return false;
                if(!(o instanceof Set))
                    return false;
                if(((Set)o).size()!=size())
                    return false;
                return containsAll((Collection)o);
            }

        public int hashCode()
            {
                int hashCode=0;
                Iterator it=iterator();
                while(it.hasNext())
                    {
                        Object o=it.next();
                        if(o!=null)
                          hashCode+=o.hashCode();
                    }
                return hashCode;
            }
    }
