Vector<FileInputStream> v = new Vector<FileInputStream>();
ArrayList<FileInputStream> list = new ArrayList<FileInputStream>();
Vector跟ArrayList基本相似,可以说ArrayList是在Vector基础上创立出来的.唯一的区别就是:Vector是线程同步运算的,而ArrayList则没有,所以Vector比ArrayList安全.但是!在处理存储的时候,Vector如果存满了就会把自己的容量翻倍继续容纳,而ArrayList则只增加50%,所以内存利用上ArrayList性价比高.
关于- Enumeration<FileInputStream> en = new Enumeration<FileInputStream>(){
- public boolean hasMoreElements(){
- return it.hasNext();
- }
- public FileInputStream nextElement(){
- return it.next();
- }
复制代码 首先要了解Enumeration这个具体是什么东西:你可以理解为另一个Iterator,只不过属性跟方法有些不同罢了.
上面这段代码的功能是:因为Iterato本身不具备返回enumtion,而SequenceInputStream又要用到enumtion,所以只能用Iterato的.hasnext();.next();去重写Enumeration的方法来达到功能的实现.就像是:我只有榔头,你只有钉子,我们凑合一下就能产生钉东西的功能,嘛 差不多就这个意思. |