黑马程序员技术交流社区

标题: 集合的问题 [打印本页]

作者: 山西_李帅    时间: 2013-5-1 13:18
标题: 集合的问题
collection下的所有子集合都可以用迭代器遍历。那么vector可以使用iterater迭代吗?  我知道它可以使用enumeration遍历。
作者: 403383221    时间: 2013-5-1 13:29
当然可以啊
Vector所有已实现的接口:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess
Vector也实现了 Iterable<E>接口,可以用iterater迭代的
作者: wudongzhe    时间: 2013-5-1 13:33
可以哦 不知道的问题可以自己试着敲下代码
  1. public class Test {
  2.     public static void main(String[] args) {
  3.            
  4.             Vector<String> v=new Vector<String>();
  5.             v.add("a");
  6.             v.add("b");
  7.             v.add("c");
  8.             Iterator<String> it=v.iterator();
  9.             while(it.hasNext()){
  10.                     String str=it.next();
  11.                     System.out.println(str);
  12.             }
  13.     }

  14. }
复制代码

作者: 黑马华    时间: 2013-5-1 13:39
本帖最后由 黑马华 于 2013-5-1 14:07 编辑

vector在集合不存在的时候就已经有了,他一开始用的是enumeration遍历,后来出现了集合类,把这个也实现了 Iterable<E>接口,你自定义一个实现这个接口实现Iterater()都能使用这个功能,所以这个可以用来遍历
代码验证:
package com.itheima;
import java.util.*;

public class VectorTest {

        public static void main(String[] args) {
                Vector v = new Vector();
                v.add("5月中旬见");
                v.add("听说黑马老师很厉害");
                v.add("itcast");
                Iterator it= v.iterator();
                while(it.hasNext()) {
                         String s= it.next();
                        System.out.println(s);
                        }
        }

}


作者: 吴传淦    时间: 2013-5-1 13:43
vector实现了Iterable接口,它也可以用迭代器
import java.util.*;

public class Test {

        public static void main(String[] args) {
                Vector v = new Vector();
                v.add("a1");
                v.add("a2");
                Iterator it= v.iterator();
                while(it.hasNext()) {
                        System.out.println(it.next());
                        }
        }

}
作者: 一直在路上    时间: 2013-5-1 13:51
只要实现这个接口实现Iterater()都能使用Iterator这个功能,所以这个可以用来遍历,测试例子如下:
  1. import java.util.Collection;
  2. import java.util.Iterator;
  3. import java.util.Vector;


  4. public class Test {

  5.         /**
  6.          * @param args
  7.          */
  8.         public static void main(String[] args) {
  9.                 // TODO Auto-generated method stub

  10.                 Collection<String> v1 = new Vector<String>();
  11.                 v1.add("aaaa");
  12.                 v1.add("bbbb");
  13.                 v1.add("cccc");
  14.                
  15.                 Iterator it = v1.iterator();
  16.                 while(it.hasNext()){
  17.                         System.out.println(it.next());
  18.                 }
  19.         }

  20. }
复制代码

作者: 黄玉昆    时间: 2013-5-2 20:25
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2