Enumeration接口的功能与 Iterator 接口的功能是重复的。此外,Iterator 接口添加了一个可选的移除操作,并使用较短的方法名。新的实现应该优先考虑使用 Iterator 接口而不是 Enumeration 接口。将ArrayList集合中的元素用枚举的方式取出可以有两种方式,下面以两个小程序演示
1, Iterator与Enumeration功能相似,可以基于Iterator采用内部类的方式创建一个Enumeration对象
- ArrayList<String> al = new ArrayList<String>();
- al.add("测试1");
- al.add("测试2");
- al.add("测试3");
-
- final Iterator<String> it = al.iterator();
-
- Enumeration<String> en = new Enumeration<String>()
- {
- public boolean hasMoreElements()
- {
- return it.hasNext();
- }
- public String nextElement()
- {
- return it.next();
- }
- };
-
- while(en.hasMoreElements())
- {
- String str = en.nextElement();
- System.out.println(str);
- }
复制代码
2,使用Collections工具类的enumeration()方法返回一个指定ArrayList集合的枚举
- ArrayList<String> al = new ArrayList<String>();
- al.add("测试1");
- al.add("测试2");
- al.add("测试3");
- Enumeration<String> en = Collections.enumeration(al);
- while(en.hasMoreElements())
- {
- String str = en.nextElement();
- System.out.println(str);
- }
复制代码 |