X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FFastSet.java;h=b94613e7a92cb63a8ac83b7ae5413a0c59ddf3e3;hb=f33c05adc5aa3dd324c5352cdbd6f4b55359acad;hp=a433b7c35bd535ef1524a56791afb1bcfde859dd;hpb=0a0227b9180534d2a431f3d6e08a398bde2244c4;p=sbp.git diff --git a/src/edu/berkeley/sbp/util/FastSet.java b/src/edu/berkeley/sbp/util/FastSet.java index a433b7c..b94613e 100644 --- a/src/edu/berkeley/sbp/util/FastSet.java +++ b/src/edu/berkeley/sbp/util/FastSet.java @@ -1,19 +1,24 @@ package edu.berkeley.sbp.util; import java.util.*; -public final class FastSet implements Iterator, Iterable { +public /*final*/ class FastSet implements Iterator, Iterable { - public static final int INITIAL_SIZE = 128; + public static final int INITIAL_SIZE = 8; - private Object[] array; + private Object[] array = null; private T only = null; - private int i = 0; + private int i = -1; private int size = 0; public Iterator iterator() { i=0; return this; } public void remove() { throw new Error(); } public boolean hasNext() { return only==null ? i implements Iterator, Iterable { } } public void add(T t, boolean check) { - if (check) for(Object o : this) if (o.equals(t)) return; + //if (check) for(Object o : this) if (o.equals(t)) return; + if (check) { + if (only==t) return; + if (array != null) + for(int i=0; i