Java中Iterator和Enumeration详解
Iterator接口的功能是遍历Collection容器中的元素
·
Iterator接口的功能是遍历Collection容器中的元素。
方法:
boolean hasNext():用来判断当前游标后面是否还存在元素,如果存在就返回true,不存在就返回false。
Object next():先返回当前游标右边的元素,然后游标后移一个位置。
void remove():删除最近返回的元素。
从示意图中我们可以看出:游标最开始的位置是在第一个元素的前面。
下面通过一个实例来说明:
public class IteratorTest {
public static void main(String[] args) {
/*创建一个list*/
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add("廖泽民");
list.add("abc");
/*调用迭代器方法遍历集合元素*/
displayByIterator(list);
}
/**
* 通过Iterator遍历所有的Collection接口的实现类
*/
public static void displayByIterator(Collection collection){
/*创建一个迭代器*/
Iterator it = collection.iterator();
/*遍历*/
while (it.hasNext()){
/*打印元素*/
System.out.println(it.next());
}
}
}
Enumeration和Iterator一样都是遍历集合。
Enumeration中的两个方法:
boolean hashMoreElements():判断是否有更多的元素可以提取,如果有的话就返回true,否则返回false。
Object nextElement():如果至少存在一个可提供的元素,则返回此枚举的下一个元素。
示例:
public class EnumerationTest {
public static void main(String[] args) {
/*创建一个hashTable*/
Hashtable hashtable = new Hashtable();
/*向hashTable中添加数据*/
hashtable.put("id", 1);
hashtable.put("name", "廖钟民");
hashtable.put("sex", "男");
/*调用elements()方法将table转换为Enumeration集合*/
Enumeration enumeration = hashtable.elements();
/*.hashElemnents()判断是否存在更多的元素*/
while (enumeration.hasMoreElements()){
/*输出*/
System.out.println(enumeration.nextElement());
}
}
}
Iterator和Enumeration的重要区别:
1:Enumeration中没有删除方法,只有遍历。
2:Enumeration是先进后出,而Iterator是先进先出。
更多推荐
已为社区贡献1条内容
所有评论(0)