Iterable接口
来源:互联网 发布:淘宝号申请注册 编辑:程序博客网 时间:2024/06/08 12:10
Iterable接口包含一个产生Iterator的iterator的方法,用于foreach中移动
下面是一个例子:
import java.util.*;public class IteratableClass implements Iterable<String>{protected String [] words="and that is how we know the earth to be banana-shaped".split(" ");public Iterator<String> iterator(){return new Iterator<String>(){private int index=0;public boolean hasNext(){return index<words.length;}public String next(){return words[index++];}public void remove(){}};}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubfor(String s:new IteratableClass()){System.out.println(s+" ");}}}
下面用适配器方法产生反向的迭代的方法:
import java.util.*;public class ReversibleArrayList<T> extends ArrayList<T>{public ReversibleArrayList(Collection<T> c){super(c);}public Iterable<T> reversed(){return new Iterable<T>(){public Iterator<T> iterator(){return new Iterator<T>(){int current=size()-1;public boolean hasNext(){return current>0;}public T next(){return get(current--);}public void remove(){}};}};}}
import java.util.*;public class AdapterMethodIdiom {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubReversibleArrayList<String> ral=new ReversibleArrayList<String>(Arrays.asList("to be or not to be".split(" ")));for(String s:ral)System.out.print(s+" ");System.out.println();for(String s:ral.reversed())System.out.print(s+" ");}}
0 0
- Iterable接口
- java.lang.Iterable接口
- Iterator与Iterable接口
- Iterator和Iterable接口
- 2015063001 - Iterable接口API
- 演示Iterable接口
- API学习接口Iterable
- Java8 Iterable接口源码阅读
- Iterable接口和foreach循环
- JAVA——Iterable接口
- 接口 Iterable ,类是 Iterator
- Iterable接口和Iterator迭代器
- Iterator接口和Iterable接口的区别
- iteraor接口与iterable接口区别
- 接口 Iterator<E> 与 接口 Iterable<T>
- iterable
- Iterator 和 Iterable 接口的区别
- iterable和iterator接口的区别
- c++builder 2010 with OpenSSL
- winsock入门之建立socket
- 用Node.js实现Restful风格webservice
- (转载优质文)定制iOS 7中的导航栏和状态栏
- 【iOS7的一些总结】3、视图控制器ViewControllers之间的数据传递(2)
- Iterable接口
- 1_04感想
- 人品问题
- 妹子尚且如此! 少年努力吧
- EL 表达式学习中的 几个注意点。
- Ubuntu 12.10代理服务器上网设置
- 文件操作 fopen fclose
- 黑马程序员_IO流基础
- shell while循环