1 cananian 1.1.2.1 // ArraySet.java, created Wed Sep  8 14:51:21 1999 by cananian
 2 cananian 1.1.2.1 // Copyright (C) 1999 C. Scott Ananian <cananian@alumni.princeton.edu>
 3 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 cananian 1.1.2.1 package harpoon.Util;
 5 cananian 1.1.2.1 
 6 cananian 1.1.2.1 import java.util.Iterator;
 7 cananian 1.1.2.1 /**
 8 cananian 1.1.2.1  * <code>ArraySet</code> creates an unmodifiable <code>Set</code> view of an
 9 cananian 1.1.2.1  * array.  The idea is similar to <code>java.util.Arrays.asList()</code>.
10 cananian 1.1.2.1  * 
11 cananian 1.1.2.1  * @author  C. Scott Ananian <cananian@alumni.princeton.edu>
12 cananian 1.3      * @version $Id: ArraySet.java,v 1.3 2002/04/10 03:07:03 cananian Exp $
13 cananian 1.1.2.1  */
14 cananian 1.2.2.1 public class ArraySet<E> extends java.util.AbstractSet<E> {
15 cananian 1.2.2.1     final E[] oa;
16 cananian 1.1.2.1     
17 cananian 1.1.2.1     /** Creates a <code>ArraySet</code> from an object array.
18 cananian 1.1.2.1      *  All objects must be unique.
19 cananian 1.1.2.1      */
20 cananian 1.2.2.1     public ArraySet(E[] oa) {
21 cananian 1.1.2.1         this.oa = oa;
22 cananian 1.1.2.1     }
23 cananian 1.2.2.1     public Iterator<E> iterator() { return new ArrayIterator<E>(oa); }
24 cananian 1.1.2.1     public int size() { return oa.length; }
25 cananian 1.2     }