首页 > 代码库 > 匿名内部类 , Iterable<T> 和 Iterator<T>
匿名内部类 , Iterable<T> 和 Iterator<T>
package generic;import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.Iterator;public class ReversibleArrayList<T> extends ArrayList<T> { private static final long serialVersionUID = -2293646393609696016L; public ReversibleArrayList(Collection<T> collection){ super(collection); } public Iterable<T> reversed(){ return new Iterable<T>() { @Override public Iterator<T> iterator() { return new Iterator<T>() { int idx = ReversibleArrayList.this.size() - 1; @Override public boolean hasNext() { return idx > -1; } @Override public T next() { return ReversibleArrayList.this.get(idx--); } @Override public void remove() { throw new UnsupportedOperationException(); } }; } }; } public static void main(String[] args) { ReversibleArrayList<String> list = new ReversibleArrayList<String>( Arrays.asList("To be or not to be".split(" "))); for (String s : list) { System.out.println(s); } System.out.println("----------------"); for (String s : list.reversed()) { System.out.println(s); } }}
匿名内部类 , Iterable<T> 和 Iterator<T>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。