黑马程序员技术交流社区

标题: Vector怎么用??? [打印本页]

作者: 赵志伟    时间: 2012-3-21 20:55
标题: Vector怎么用???
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起到了什么作用?我都没有见过呀。
作者: 周建    时间: 2012-3-21 22:20
在这里Vector就是一个普通的集合,用来存储数据的,在1.2版本之前集合就只有Vector,1.2之后,此类改进为可以实现 List 接口,使它成为 Java Collections Framework 的成员。与新 collection 实现不同,Vector 是同步的。与ArrayList一样,底层都是数组结构,但效率不如ArrayList,所以被其替代,现在开发中Vector很少用
作者: 吴璞玉    时间: 2012-3-21 22:29
Vector 类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大。在删除一些元素之后,数组变小,我记得老毕说他不常用是因为Vector缺省情况下自动增长原来一倍的数组长度, ArrayList是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用 Vector有一些优势,因为你可以通过设置集合的初始化大小来避免不必要的资源开销。ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些
作者: ♂诸侯♂    时间: 2012-3-21 23:58
List <String> v = new Vector <String>();
v.add("12121");
v.remove("12121");
。。。
这样写比较好。
一般没必要用Vector,效率有点低,除非涉及到线程安全的问题

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




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