Java中迭代器和枚举的区别

迭代器:它是一个通用迭代器,因为可以将它应用于任何 Collection 对象。通过使用迭代器,我们可以执行读取和删除操作。它是 Enumeration 的改进版本,具有元素可移除功能的附加功能。每当要枚举所有 Collection 框架实现的接口(如 SetListQueueDeque)以及所有实现的 Map 接口类中的元素时,都必须使用迭代器。迭代器是整个集合框架唯一可用的游标。

语法:

// Here c is any Collection object. itr is of
// type Iterator interface and refers to c\nIterator itr = c.iterator();

枚举:枚举(或enum)是用户定义的数据类型。它主要用于为整型常量分配名称,这些名称使程序易于阅读和维护。在 Java(从 1.5 开始)中,枚举使用枚举数据类型表示。Java 枚举比 C/C++ 枚举更强大。在 Java 中,还可以向其添加变量、方法和构造函数。枚举的主要目标是定义我们自己的数据类型(枚举数据类型)。

语法:

// A simple enum example where enum is declared 
// outside any class (Note enum keyword instead of 
// class keyword) 
enum Color 
{ 
    RED, GREEN, BLUE; 
}

迭代器和枚举的区别:

Enumeration 和 Iterator 的功能是相同的。使用枚举只能遍历和获取对象,而使用迭代器我们也可以添加删除对象。因此,如果愿意,迭代器可能会很有用
操作列表和枚举是只读访问。

迭代器 枚举
Iterator 是一个通用游标,因为它适用于所有集合类。 枚举不是通用游标,因为它仅适用于遗留类。
迭代器有 remove() 方法 枚举没有 remove() 方法
迭代器可以进行修改(例如,使用 remove() 方法在遍历期间从集合中删除元素)。 枚举接口作为一个只读接口,在遍历Collection的元素时不能对Collection做任何修改
迭代器不是遗留接口。Iterator 可用于 HashMapLinkedListArrayListHashSetTreeMapTreeSet 的遍历。 Enumeration一个遗留接口,用于遍历 VectorHashtable

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...