Iterator
来源:互联网 发布:安卓4.0淘宝 编辑:程序博客网 时间:2024/06/08 03:35
一、为什么要使用迭代器?
请设想一样,一段代码,之前是用于对List操作的,而现在需要这段代码对Set进行操作,该怎么办呢?大家可能想到再编写对Set进行操作的代码就可以了,然后此时如果我们使用迭代器将会显得代码更加优雅,因为迭代器可以针对不同的集合类对象进行操作,而根本不管集合类到底是什么。
二、什么是迭代器?
迭代器是一个对象,它的功能是遍历并选择集合中的对象,而并不需要知道该集合到底是什么类型的。
三、迭代器中包含的方法:
(1)iterator():用于返回容器的一个Iterator。
(2)hasNext():用于判断集合中是否还有元素。
(3)next():用来获取集合的下一个元素。
(4)remove():用来移除集合中的元素。注意:remove()方法必须用在next()方法之后。
四、代码例子:
package com.lt.iterator;import java.util.ArrayList;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;/** * 演示类:演示迭代器的使用 * @author Administrator * */public class IteratorDemo {public static void display(Iterator<Pet> iterator){while(iterator.hasNext()){Pet pet=iterator.next();System.out.println(pet);}}public static void main(String[] args) {List<Pet> list=new ArrayList<Pet>();list.add(new Dog());list.add(new Cat());Set<Pet> set=new HashSet<Pet>();set.add(new Dog());set.add(new Cat());display(list.iterator());display(set.iterator());}}class Pet{@Overridepublic String toString() {return "Pet";}}class Dog extends Pet{@Overridepublic String toString() {return "Dog";}}class Cat extends Pet{@Overridepublic String toString() {return "Cat";}}五、总结
从上面的代码我们可以看出display()方法仅仅出入一个迭代器,而并不需要知道是什么产生的迭代器。这就是使用迭代器的好处。
1 0
- Iterator
- Iterator
- Iterator
- iterator
- Iterator
- Iterator
- iterator
- iterator
- Iterator
- iterator
- iterator
- iterator
- Iterator
- iterator
- Iterator
- iterator
- iterator
- Iterator()
- <SearchView > 搜索框的简单使用
- mysql-索引
- java通过JDBC链接SQLServer2012
- JAVA操作Excel文件
- UVA 10099 - The Tourist Guide
- Iterator
- 获取手机分辨率(屏幕大小)
- LeetCode No332. Reconstruct Itinerary
- Java多线程初探——正确停止线程
- hdu5652 India and China Origins(并查集联通)
- 解决InvalidDataAccessApiUsageException: Executing an update/delete query
- 2016.06.04 教学妹弄gephi遇到的一些问题
- XTU Binary Search Tree(LIS变形)
- linux网络协议栈内核分析