package en.iteast.EnumerationDemo;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Vector;
public class EnumerationDemo {
public static void main(String[] args) {
/**
* Enumeration:枚举
* 具备枚举取出方式的容器只有Vector
*/
Vector v = new Vector();
v.add("a");
v.add("b");
v.add("c");
v.add("d");
Enumeration enumeration = v.elements();
/*
注:此接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。
*/
//获取枚举
//法1:while取出
System.out.println("法1:while取出");
while(enumeration.hasMoreElements()) {
System.out.println("enumeration:"+enumeration.nextElement());
}
//法2:改为for语句取出
// System.out.println("法2:改为for语句取出");
// for(Enumeration enumeration = v.elements();;enumeration.hasMoreElements();) {
// //为什么被淘汰:与iterator相比较而言,名称太长,而非效率问题
// System.out.println("enumeration:"+enumeration.nextElement());
// }
//法3:迭代器取出--优点--:可以对元素进行修改
System.out.println("法3:迭代器取出--优点--:可以对元素进行修改");
for (Iterator iterator = v.iterator(); iterator.hasNext();) {
System.out.println("enumeration:"+iterator.next());
}
//法4:仅仅用于遍历,foreach
System.out.println("法4:仅仅用于遍历,foreach");
for (Object object : v) {
System.out.println(object);
}
}
}
输出结果:
法1:while取出
enumeration:a
enumeration:b
enumeration:c
enumeration:d
法3:迭代器取出--优点--:可以对元素进行修改
enumeration:a
enumeration:b
enumeration:c
enumeration:d
法4:仅仅用于遍历,foreach
a
b
c
d