@Override public Iterator<IMAGE> iterator() { return new ArrayIterator<IMAGE>(images); } }
@Override public boolean hasNext() { return filesIterator.hasNext(); }
@Override public void remove() { filesIterator.remove(); } };
@Override public INSTANCE next() { try { return read(filesIterator.next()); } catch (final IOException e) { throw new RuntimeException(e); } }
@Override public Iterator<IMAGE> iterator() { return new ArrayIterator<IMAGE>(images); } }
@Override public Iterator<double[]> iterator() { return new ArrayIterator<double[]>(data); }
@Override public Iterator<IMAGE> iterator() { return new ArrayIterator<IMAGE>(pyramid); }
@Override public Iterator<float[]> iterator() { return new ArrayIterator<float[]>(data); }
@Override public Iterator<short[]> iterator() { return new ArrayIterator<short[]>(data); }
@Override public Iterator<long[]> iterator() { return new ArrayIterator<long[]>(data); }
@Override public Iterator<byte[]> iterator() { return new ArrayIterator<byte[]>(data); }
@Override public Iterator<int[]> iterator() { return new ArrayIterator<int[]>(data); }
@Override public Iterator<T> iterator() { return new ArrayIterator<T>(data); }
@Override public Iterator<IMAGE> iterator() { return new ArrayIterator<IMAGE>(pyramid); }
@Override public Iterator<INSTANCE> iterator() { return new Iterator<INSTANCE>() { ArrayIterator<FileObject> filesIterator = new ArrayIterator<FileObject>(files); @Override public boolean hasNext() { return filesIterator.hasNext(); } @Override public INSTANCE next() { try { return read(filesIterator.next()); } catch (final IOException e) { throw new RuntimeException(e); } } @Override public void remove() { filesIterator.remove(); } }; }
/** * Create an iterator that filters items from the given array. * * @see Predicate#test(Object) * * @param <T> * type of object being filtered * @param array * to filter * @param filter * the filter * @return the list of accepted items */ public static <T> Iterator<T> filteredIterator(final T[] array, final Predicate<T> filter) { return filteredIterator(new ArrayIterator<T>(array), filter); } }