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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王红霞 中级黑马   /  2012-7-18 11:37  /  1601 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王红霞 于 2012-8-15 18:24 编辑

class VectorDemo
{
        public static void main(String[] args)
        {
                Vector v=new Vector();
                v.add("java01");
                v.add("java02");
                v.add("java03");
                v.add("java04");
                Enumeration en=v.elements();
                while (en.hasMoreElements())
                {
               System.out.println(en.nextElement());
                }
               
        }
}

class ListDemo
{
        public static void main(String[] args)
        {
           ArrayList al=new ArrayList();
           al.add("java01");
           al.add("java02");
           al.add("java03");
           al.add("java04");
           
           ListIterator li=al.listIterator();
           while(li.hasNext())
           {
                   System.out.println(li.next());
           }
        }
}
既然Vector的所有功能ArrayList都能实现,而且ArrayList的使用比Vector的方便。为什么还要用Vector枚举?反正ArrayList也可以将全部元素列举出来啊?
如果一个程序使用的都是ArrayList中的方法,偏偏到枚举的时候还得单独定义Vector对象使用内存空间吗?不是麻烦吗?为什么我老感觉Vector用不着?

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
Vector   枚举就是Vector特有的取出方式。
枚举和迭代器很像,其实就是一样
因为枚举的名称以及方法的名称都过长所以被迭代器取代了

Vector和ArrayList的区别:
底层都是数组的数据结构 ,Vector是JDK1.0版本的 线程同步 效率低
                        而ArrayList是1.2版本的线程不同步,且已经替代了Vector 效率高
回复 使用道具 举报
你學到後面就知道枚舉是做什麽用的了,而且Vector中的枚舉方法在其他集合中也一樣可以使用,要用的集合框架工具類.這個不是學習重點,所以不需要過度去關注,這種困惑學到以後你的心中自然會得到答案的.

下面是集合工具類中對枚舉方法的具體說明:
enumeration
public static <T> Enumeration<T> enumeration(Collection<T> c)返回一个指定 collection 上的枚举。此方法提供与遗留 API 的互操作性,遗留 API 需要一个枚举作为输入。

参数:
c - 将返回其枚举的 collection。
返回:
指定 collection 上的一个枚举。
另请参见:
Enumeration

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
袁錦泰 发表于 2012-7-18 14:58
你學到後面就知道枚舉是做什麽用的了,而且Vector中的枚舉方法在其他集合中也一樣可以使用,要用的集合框架工 ...

好的 谢谢  我会注意看的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马