@Override public E next() { if (next == null) throw new NoSuchElementException(); E result = next; seekNext(); return result; }
@SuppressWarnings("unchecked") @Override public Iterator<E> iterator() { try { // create a more efficient iterator if the set supports direct // access return new RawSetIntersectionIterator<E>( ((DirectAccess<E>) smallSet).getRawData(), largeSet); } catch (ClassCastException e) { // resort to generic set intersection otherwise return new SetIntersectionIterator<E>(smallSet, largeSet); } }
@Override public E next() { if (next == null) throw new NoSuchElementException(); E result = next; seekNext(); return result; }
SetIntersectionIterator(Set<? extends E> iteratingSet, Set<? extends E> checkingSet) { this.elementIterator = iteratingSet.iterator(); this.elementChecker = checkingSet; seekNext(); }
@SuppressWarnings("unchecked") @Override public Iterator<E> iterator() { try { // create a more efficient iterator if the set supports direct // access return new RawSetIntersectionIterator<E>( ((DirectAccess<E>) smallSet).getRawData(), largeSet); } catch (ClassCastException e) { // resort to generic set intersection otherwise return new SetIntersectionIterator<E>(smallSet, largeSet); } }
SetIntersectionIterator(Set<? extends E> iteratingSet, Set<? extends E> checkingSet) { this.elementIterator = iteratingSet.iterator(); this.elementChecker = checkingSet; seekNext(); }
SetIntersectionIterator(Set<? extends E> iteratingSet, Set<? extends E> checkingSet) { this.elementIterator = iteratingSet.iterator(); this.elementChecker = checkingSet; seekNext(); }
@SuppressWarnings("unchecked") @Override public Iterator<E> iterator() { try { // create a more efficient iterator if the set supports direct // access return new RawSetIntersectionIterator<E>( ((DirectAccess<E>) smallSet).getRawData(), largeSet); } catch (ClassCastException e) { // resort to generic set intersection otherwise return new SetIntersectionIterator<E>(smallSet, largeSet); } }
@Override public E next() { if (next == null) throw new NoSuchElementException(); E result = next; seekNext(); return result; }