您的位置:首页 > 编程语言 > Java开发

Java中的迭代器

2016-03-12 16:46 288 查看
可迭代性是Java集合框架下的所有集合的一种共性,也就是把集合中的所有元素遍历一遍,迭代的过程需要依赖一个迭代器对象。

迭代器模式,又叫做游标模式,它的含义是:提供一种方法访问一个容器对象中各个元素,而又不需暴露该对象的内部细节。迭代器是为容器(Java的集合类)而生,它本质上就是一种遍历算法。因为容器的实现千差万别,很多时候不可能知道如何去遍历一个集合对象的元素。Java为开发者提供了使用迭代的接口,Java的所有集合类都是进行迭代的。

迭代器就是一个接口Iterator,实现了该接口的类就叫做可迭代类,这些类多数时候指的就是java.util包下的集合类。以下是一段使用迭代器遍历List元素的示例代码:

List<String> list = new ArrayList<String>();

list.add("a");

list.add("B");

Iterator<String> it = list.iterator();

while (it.hasNext()) {

System.out.println(it.next());

}

首先,创建了一个List的集合对象,并放入了两个字符串对象元素,然后通过iterator()方法得到迭代器。Iterator()方法是由Itrable接口所规定的。ArrayList对该方法提供了具体的实现,在迭代器Iterator接口中,有以下3个方法:

hasNext():该方法用于判断集合对象是否还有下一个元素,如果已经是最后一个元素则返回false。

next():把迭代器的指向移到下一个位置,同时,该方法返回下一个元素的引用。

remove():从迭代器指向的Collection中移除迭代器返回的最后一个元素。

迭代器,提供一种访问一个集合对象中各个元素的途径,同时又不需要暴露该对象的内部细节。Java通过提供Iterable和Iterator两个接口来实现集合类的可迭代性。迭代器主要的用法就是,首先用hasNext()作为循环条件,再用next()方法得到一高额元素,最后,再进行相关操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: