A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 山西_李帅 中级黑马   /  2013-5-1 13:18  /  1259 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

collection下的所有子集合都可以用迭代器遍历。那么vector可以使用iterater迭代吗?  我知道它可以使用enumeration遍历。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

6 个回复

倒序浏览
当然可以啊
Vector所有已实现的接口:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess
Vector也实现了 Iterable<E>接口,可以用iterater迭代的
回复 使用道具 举报
可以哦 不知道的问题可以自己试着敲下代码
  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 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);
                        }
        }

}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
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());
                        }
        }

}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
只要实现这个接口实现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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马