本帖最后由 zity_chow 于 2011-06-17 06:14:58 编辑

解决方案 »

  1.   

    如果仅仅是查询用的话推荐ArrayList,ArrayList是一个变长线性数组
      

  2.   

    根据你的用途,用ArrayList合适
      

  3.   

    果断ArrayList
    遍历也挺方便的public E get(int index)Returns the element at the specified position in this list. 
      

  4.   

    如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组长度的100%,而arraylist增长率为目前数组长度的50%.如过在集合中使用数据量比较大的数据,用vector有一定的优势。另外 Vector是线程安全的  而ArrayList是非线程安全的 也就是它不支持多线程...
      

  5.   

    推荐ArrayList,遍历也很方便
    ArrayList<Object> arr = new ArrayList<Object>();
    for(Object o:arr){
        System.out.print(o.XXX);
    }
      

  6.   

    没有特殊要求  ,ArrayList足矣。
      

  7.   

    Simple Happiness My Dream Coming TrueArray(数组)和Vector是十分相似的Java构件(constructs),两者全然不同,在选择使用时应根据各自的功能来确定。 1、数组:Java arrays的元素个数不能下标越界,从很大程度上保证了Java程序的安全性,而其他一些语言出现这一问题时常导致灾难性的后果。Array可以存放Object和基本数据类型,但创建时必须指定数组的大小,并不能再改变。值得注意的是:当Array中的某一元素存放的是Objrct reference 时,Java不会调用默认的构造函数,而是将其初值设为null,当然这跟Java对各类型数据赋默认值的规则是一样的,对基本数据类型同样适用。2、Vector:对比于Array,当更多的元素被加入进来以至超出其容量时,Vector的size会动态增长,而Array容量是定死的。同时,Vector在删除一些元素后,其所有下标大于被删除元素的元素都依次前移,并获得新下标比原来的小了)。注意:当调用Vector的size()方法时,返回Vector中实际元素的个数。Vector内部实际是以Array实现的,也通过元素的整数索引来访问元素,但它只能存放java.lang.Object对象,不能用于存放基本类型数据,比如要存放一个整数10,得用new Integer(10)构造出一个Integer包装类对象再放进去。当Vector中的元素个数发生变化时, 其内部的Array必须重新分配并进行拷贝,因此这是一点值得考虑的效率问题。Vetor同时也实现了List接口,所以也可以算作Colletion了,只是它还特殊在:Vector is synchronized。即Vetor对象自身实现了同步机制。3、ArrayList:实现了List接口,功能与Vetor一样,只是没有同步机制,当然元素的访问方式为从List中继承而来,可存放任何类型的对象。4、HashMap:继承了Map接口,实现用Keys来存储和访问Values,Keys和Values都可以为空,它与Hashtable类的区别在于Hashtable类的Keys不能为null,并Hashtable类有同步机制控制,而HashMap类没有。在Struts类库中实现了一个LableValueBean,用Lable(Key)来存储和访问Value,很方便。
      

  8.   

    int i = rs.getMetaData().getColumnCount(); //列数
    List arr1 = new ArrayList();
    while (rs.next()) {
      List arr2 = new ArrayList();
      for(int i=0;i<i;i++){
        arr2.add(rs.getString(i));
      }
      arr1.add(arr2);
    }
      

  9.   

    我有一个问题,ArrayList内部不是以Array实现的吗?如果是,Array的效率不会比ArrayList快吗?
      

  10.   

    rs.getMetaData().getColumnCount(); 不是可以获得列数吗?
    rs.last();和rs.getRow();不是可以获得记录数吗?
      

  11.   

    我想问,为什么要把rs存进数组里面,rs本身不就是类似数组的数据结构了?再存进其他地方,不是多此一举
      

  12.   


    对 rs 的访问是一行一行的,比如结果集有100行,如果想访问第50行,就要先让 rs 移动到第50行,然后才可以读取。
    还有一点就是,对 rs 的访问,必须是在数据库连接的情况下才可以,一旦数据库的连接关闭,rs 也不可以访问了。不过,楼主把数据放到数组里,本人不太赞同这个做法。一般应该写个javabean,把rs中每的数据封装到一个javabean对象中好用一点
      

  13.   


    "一般应该写个javabean,把rs中每的数据封装到一个javabean对象中好用一点"
    怎样做?