黑马程序员技术交流社区
标题:
sequenceInputStream 的问题
[打印本页]
作者:
闫志军
时间:
2013-12-25 23:28
标题:
sequenceInputStream 的问题
sequenceInputStream 中用到了枚举,enumeration,,我知道如果用集合vector的话可以直接用枚举,但如果我将多个流添加到arrylist集合中呢 如何 用枚举,是要通过iterator,再用枚举?,{请详细解释一下},why? 是不是iterator和enumeration功能相同,iterator能不能理解成是枚举的改进版,除了这些,iterator和枚举还有什么关系吗
作者:
天天学习
时间:
2013-12-26 22:20
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);
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2