Java--Iterator接口和Iterable接口详解
2018-01-25 10:30
701 查看
1. Iterator接口
Iterator迭代器接口声明如下:
从上面的接口可以看到Iterator迭代器接口只提供了三个无参数的方法:
2. Iterable接口
Iterator的源码如下:
3.Iterable和Iterator的区别
从上面的介绍可以看到Iterator提供了一种统一遍历集合元素的方式,使用Iterator对象可以不用关心具体的集合对象的具体类型和内部实现,统一使用Iterator对象方法就可以实现;
Iterable接口是为了foreach循环设计的,Iterable接口表示可以返回Iterator对象,最终还是使用Iterator遍历;
迭代器(Iterator)主要用来操作java中的集合对象(Collection),迭代器提供了统一的语法进行集合对象(Collection)遍历操作, 无需关心集合对象内部的实现方式,java提供了一个迭代器接口Iterator,Iterator只能向前移,无法后退;
Iterator迭代器接口声明如下:
public interface Iterator<E> { boolean hasNext(); E next(); void remove(); }
从上面的接口可以看到Iterator迭代器接口只提供了三个无参数的方法:
hasNext --判断是否还有下一个对象,如果有,则返回true,否则false next --返回集合的下个值,此方法只能在hasNext方法返回true时调用 remove --删除集合的当前值,此方法也只能在hasNext方法返回true时调用
2. Iterable接口
jdk1.5之后新增了Iterable接口用于支持foreach循环,Iterable接口只有一个方法,就是iterator()方法,返回集合的Iterator对象, 所有实现Iterable接口的对象都可以实现foreach循环操作;
Iterator的源码如下:
public interface Iterable<T> { Iterator<T> iterator(); }
3.Iterable和Iterator的区别
从上面的介绍可以看到Iterator提供了一种统一遍历集合元素的方式,使用Iterator对象可以不用关心具体的集合对象的具体类型和内部实现,统一使用Iterator对象方法就可以实现;
Iterable接口是为了foreach循环设计的,Iterable接口表示可以返回Iterator对象,最终还是使用Iterator遍历;
相关文章推荐
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解
- Java--Iterator接口和Iterable接口详解