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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵志伟 初级黑马   /  2012-3-21 20:55  /  1830 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class readperson {
                public static Vector getInfo(){
                        Vector v=new Vector();
                        try {
                               
                        } catch (Exception e) {
                                // TODO: handle exception
                        }
                        try{
                                File F=new File("info.txt");
                                FileReader in=new FileReader(F);
                                BufferedReader br=new BufferedReader(in);
                                String s=br.readLine();
                                while(s!=null){
                                        person p=new person();
                                        p.setName(s);
                                        s=br.readLine();
                                        p.setAge(Integer.parseInt(s));
                                        s=br.readLine();
                                        p.setMemo(s);
                                        v.add(p);
                                        s=br.readLine();
                                }
                        }catch(IOException e){
                                e.printStackTrace();
                        }
                        return v;
                }
这里的Vector起到了什么作用?我都没有见过呀。

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1 我喜欢这样的问题

查看全部评分

3 个回复

倒序浏览
在这里Vector就是一个普通的集合,用来存储数据的,在1.2版本之前集合就只有Vector,1.2之后,此类改进为可以实现 List 接口,使它成为 Java Collections Framework 的成员。与新 collection 实现不同,Vector 是同步的。与ArrayList一样,底层都是数组结构,但效率不如ArrayList,所以被其替代,现在开发中Vector很少用

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
Vector 类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大。在删除一些元素之后,数组变小,我记得老毕说他不常用是因为Vector缺省情况下自动增长原来一倍的数组长度, ArrayList是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用 Vector有一些优势,因为你可以通过设置集合的初始化大小来避免不必要的资源开销。ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1 特点是安全,但是被取代了

查看全部评分

回复 使用道具 举报
List <String> v = new Vector <String>();
v.add("12121");
v.remove("12121");
。。。
这样写比较好。
一般没必要用Vector,效率有点低,除非涉及到线程安全的问题

这个地方讲的比较细致。希望对你帮助。
http://developer.51cto.com/art/200906/128499.htm

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马