Mega Code Archive

 
Categories / Java by API / Java Util
 

Extends AbstractSet

/*  Output: [V, M, N]  * */ import java.io.Serializable; import java.util.AbstractSet; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.Set; public class MainClass {   public static void main(String args[]) {     Set map = new ArraySet();     map.add("V");     map.add("M");     map.add("N");     System.out.println(map);   } } class ArraySet extends AbstractSet implements Cloneable, Serializable {   private ArrayList list;   public ArraySet() {     list = new ArrayList();   }   public ArraySet(Collection col) {     list = new ArrayList();     // No need to check for dups if col is a set     Iterator itor = col.iterator();     if (col instanceof Set) {       while (itor.hasNext()) {         list.add(itor.next());       }     } else {       while (itor.hasNext()) {         add(itor.next());       }     }   }   public Iterator iterator() {     return list.iterator();   }   public int size() {     return list.size();   }   public boolean add(Object element) {     boolean modified;     if (modified = !list.contains(element)) {       list.add(element);     }     return modified;   }   public boolean remove(Object element) {     return list.remove(element);   }   public boolean isEmpty() {     return list.isEmpty();   }   public boolean contains(Object element) {     return list.contains(element);   }   public void clear() {     list.clear();   }   public Object clone() {     try {       ArraySet newSet = (ArraySet) super.clone();       newSet.list = (ArrayList) list.clone();       return newSet;     } catch (CloneNotSupportedException e) {       throw new InternalError();     }   } }