1 // Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
3 package edu.berkeley.sbp.util;
6 public final class ConcatenateIterator<T> implements Iterator<T>, Iterable<T> {
8 private Iterator<T> i1;
9 private Iterator<T> i2;
11 public ConcatenateIterator(Iterator<T> i1, Iterator<T> i2) {
16 public void remove() { throw new Error(); }
17 public boolean hasNext() { return i1.hasNext() || i2.hasNext(); }
18 public T next() { return i1.hasNext() ? i1.next() : i2.next(); }
19 public Iterator<T> iterator() { return this; }