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 }