Java中的迭代器

来源:互联网 发布:淘宝网棉麻长裙 编辑:程序博客网 时间:2024/06/01 21:17

    可迭代性是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()方法得到一高额元素,最后,再进行相关操作。

0 0
原创粉丝点击