Java中Iterator与Iterable的区别
来源:互联网 发布:淘宝百货用品名字大全 编辑:程序博客网 时间:2024/06/05 17:10
Iterable的定义:
java.lang包
/** * Implementing this interface allows an object to be the target of * the "foreach" statement. * * @param <T> the type of elements returned by the iterator * * @since 1.5 */public interface Iterable<T> { /** * Returns an iterator over a set of elements of type T. * * @return an Iterator. */ Iterator<T> iterator();}
Iterator的定义:
java.util包:
public interface Iterator<E> { boolean hasNext(); E next(); void remove();}
Iterator是迭代器类,而Iterable是为了只要实现该接口就可以使用foreach,进行迭代。
Iterable中封装了Iterator接口,只要实现了Iterable接口的类,就可以使用Iterator迭代器了。
集合Collection、List、Set都是Iterable的实现类,所以他们及其他们的子类都可以使用foreach进行迭代。
那为什么这些集合类不直接实现Iterator呢?
Iterator中和核心的方法next(),hasnext(),remove(),都是依赖当前位置,如果这些集合直接实现Iterator,则必须包括当前迭代位置的指针。当集合在方法间进行传递的时候,由于当前位置不可知,所以next()之后的值,也不可知。而当实现Iterable则不然,每次调用都返回一个从头开始的迭代器,各个迭代器之间互不影响。
0 0
- Java中Iterator与Iterable的区别
- Java中接口Iterable与Iterator的区别
- Java中的Iterable与Iterator的区别
- java iterator与iterable的区别
- java中Iterator和Iterable的区别
- Java中Iterable和Iterator的区别
- java中Iterator和Iterable的区别
- Iterator与iterable的区别
- Iterator 与 Iterable 的区别
- java学习之:Iterable与Iterator的区别
- Iterable与Iterator 区别
- java 中 Iterator 和 Iterable 区别
- Java Iterable、Iterator、iterator区别
- iterator与iterable接口之间的区别
- Python 中 Iterator和Iterable的区别
- Java中的Iterator和Iterable的区别
- java集合----Iterable和Iterator的区别
- Java中Iterable和Iterator的辨析
- 串口通讯—同步通信方式
- 欢迎使用CSDN-markdown编辑器
- OpenStack 主要项目一览
- [学习笔记—Objective-C]《Objective-C 程序设计 第6版》第六章 选择结构 课后题6-4&6-6&6-7
- ubuntu12.04安装arm-linux-gcc详解
- Java中Iterator与Iterable的区别
- 多线程编程(六)--Callable&Future
- 专注吐槽 20 年,酱油已打 200 斤, 挖坑已挖 2000 米深,就等着自己跳进去了……
- 手机用USB连接电脑宽带上网(只需轻松3步即可上网)
- 黑马程序员---2015.6.28java基础笔记--网络--URL--URLConnection
- C语言字符串拷贝
- 在win7 + vs express for desktop中安装stlport和boost库
- ubuntu12.04 minicom安装与使用
- CentOS 7.0 yum安装Apache、PHP和MySQL