我现在一数据表table, 有三列   被考核人  部门   考核人类型                                  aa      1     A1 
                             bb       1     A2 
                             cc      1     A3 
                             aa      1     A4 
                             bb      1     A5 
                             cc      1     A6 
我用的sql是, select * from table , 这样查询出来的是全部数据 
在通过while(结果集.next()){ 
    //循环 
     .......... 

我现在就想在循环里通过使用ArrayList把取出来的数据整合成   1、 aa 1  A1 A4 
                                                    2、 bb 1  A2 A5 
                                                    3、 cc 1  A3 A6 
        这样的三条数据~  该怎么适用ArrayList呢~    希望大家帮帮忙~提提意见 谢谢!  在线等!

解决方案 »

  1.   

    你为什么不考虑改进下你的sql? select * from table这样的垃圾sql貌似就不应该存在select * form table where  table.people = 'xxx'
      

  2.   

    很容易了!
    比较被考核人,一样的就放一起
    然后加到ArrayList里
      

  3.   

    class User
    {   
       private int    id;
       ......
          被考核人
            部门  
        考核人类型  
     //四个属性.  .....
       getXXX();
      setXXX();
      ....}然后在ArrayList 中加 user对象.
      

  4.   

    http://junmail.javaeye.com/blog/162230
      

  5.   

    select * from table  group by table.people
    用个二维的ArrayList 来保存数据
    然后在 while(rset.next()){}
    中逐行读取,当碰到一个新的“被考核人(people)”时,新建一个小的ArrayList,并且把前一个小的ArrayList加入到大的arrayList(当且仅当仅当该ArrayList非空时)中去
    然从arrayList中读取, 第一维就是people, 怎么表示看你的了。//对应DB中的一行记录
    Class Record {
        
    }
    String oldPeople = null;
    List out = new ArrayList();
    List in = null;
    while(rset.next()){
        String newPeople = rset.getString("people");
        //一个新的people
        if(!newPeople.equals(oldPeople)){
            //前一个小的ArrayList 非空,则加入到out中。
            if(in != null){
                out.add(in);
            }
            in = new ArrayList()
            /*从resultSet 映射到 record*/
            in.add(record);
        }else{
            //通一个人的记录,
            /*从resultSet 映射到 record*/
            //添加到in 中
            in.add(record);
        }
        //记住前一次循环的people
        oldPeople = newPeople;
    }