Mercurial > hg > Members > tatsuki > bbs
view src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/local/bbs/IterableConverter.java @ 8:766f7668521f
commit
author | tatsuki |
---|---|
date | Thu, 02 Feb 2017 23:05:59 +0900 |
parents | src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/local/IterableConverter.java@64a72a7a0491 |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.ie.cr.bbs.local.bbs; import java.util.Iterator; public class IterableConverter<A,B> implements Iterable<A> { private final Iterable<B> iterable; private final Converter<A,B> converter; public IterableConverter(Iterable<B> _iterable,Converter<A,B> _converter) { iterable = _iterable; converter = _converter; } public Iterator<A> iterator() { return new IteratorConverter<A,B>(iterable.iterator(),converter); } private static final class IteratorConverter<A,B> implements Iterator<A> { private final Iterator<B> iterator; private final Converter<A,B> converter; public IteratorConverter(Iterator<B> _iterator,Converter<A,B> _converter) { iterator = _iterator; converter = _converter; } public boolean hasNext() { return iterator.hasNext(); } public A next() { return converter.conv(iterator.next()); } public void remove() { iterator.remove(); } } public static interface Converter<A,B> { public A conv(B _b); } }