X-Git-Url: http://git.megacz.com/?p=sbp.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Futil%2FFastSet.java;h=289e5ec22c1546ae98569aff99368a5aa64164d4;hp=c8302b52cfea7624e7fd8c57757927deb910b774;hb=f069d11a0bc59d63b078df8a4aa488498c4e9cc2;hpb=5eea0a7ad35fb17a5b7203fa40119ad5cab01ec0 diff --git a/src/edu/berkeley/sbp/util/FastSet.java b/src/edu/berkeley/sbp/util/FastSet.java index c8302b5..289e5ec 100644 --- a/src/edu/berkeley/sbp/util/FastSet.java +++ b/src/edu/berkeley/sbp/util/FastSet.java @@ -3,7 +3,7 @@ package edu.berkeley.sbp.util; import java.util.*; -public /*final*/ class FastSet implements Iterator, Iterable, Visitable { +public final class FastSet implements Iterator, Iterable, Visitable { public static final int INITIAL_SIZE = 8; @@ -22,6 +22,12 @@ public /*final*/ class FastSet implements Iterator, Iterable, Visitable return (T)array[i]; } + public T first() { + if (only != null) return only; + if (array != null) return (T)(array[0]); + return null; + } + public FastSet() { } public FastSet(T t) { only = t; } public FastSet(Set s) { @@ -36,17 +42,22 @@ public /*final*/ class FastSet implements Iterator, Iterable, Visitable return; } boolean found = false; - for(int j=0; j void visit(Invokable ivbc, B b) { - if (only!=null) ivbc.invoke(only, b); + public void visit(Invokable ivbc, B b, C c) { + if (only!=null) ivbc.invoke(only, b, c); else for(int j=0; j