2批LIST
A1 存放的是ID
A2 存放的是NAMEB1 存放的是ID
B2 存放的是jobA1与B1的ID是有联系的这12批LIST的数据 差不多是这样A1----A2--------------------B1----B2
1---- 张三------------------1-----经理
2---- 王五------------------1-----球员
3---- 老四------------------1-----CEO
----------------------------2-----教练
----------------------------2-----裁判程序要求结果是
1----张三-------------经理,球员,CEO
2----王五-------------教练,裁判
3----老四-------------null 

解决方案 »

  1.   

    因为是有序的,直接遍历就可以了,伪代码如下:其中a.size()表示list长度,a.get(i)表示取第n个值
    int k = 0,j;
    for(int i =0; i < a1.size(); i++)
    {
       System.out.print(a1.get(i)+"-----"+a2.get(i));
       for(j = 0; k< a2.size(); k++)
       {
            if(b1.get(k) == a1.get(i))
            {
                 j++;
                 System.out.print(b2.get(k)+",");
             }
            else
                  break;
        }
       if(j == 0)
           System.out.println("null");
    }
      

  2.   

    应该是存放到map里比较好点。这样写出来代码有什么意义没有
      

  3.   

    程序要求结果是 
    1----张三-------------经理,球员,CEO 
    2----王五-------------教练,裁判 
    3----老四-------------null 
    这第3纵列 也是个list
      

  4.   

    public class Test { public static void main(String... args) {
    List<Integer> l1 = new ArrayList<Integer>();
    List<String> l2 = new ArrayList<String>();
    List<Integer> l3 = new ArrayList<Integer>();
    List<String> l4 = new ArrayList<String>(); l1.add(1);
    l1.add(2);
    l1.add(3); l2.add("张三");
    l2.add("王五");
    l2.add("老四"); l3.add(1);
    l3.add(1);
    l3.add(1);
    l3.add(2);
    l3.add(2); l4.add("经理");
    l4.add("球员");
    l4.add("CEO");
    l4.add("教练");
    l4.add("裁判"); String s1 = 1 + "-----------" + l2.get(0) + "-------------";
    String s2 = 2 + "-----------" + l2.get(1) + "-------------";
    String s3 = 3 + "-----------" + l2.get(2) + "-------------"; String s11 = "";
    String s12 = "";
    String s13 = "";
    for (int i = 0; i < l3.size(); i++) {
    if (l3.get(i) == 1) {
    s11 += "".equals(s11) ? l4.get(i) : "," + l4.get(i);
    }
    if (l3.get(i) == 2) {
    s12 += "".equals(s12) ? l4.get(i) : "," + l4.get(i);
    }
    if (l3.get(i) == 3) {
    s13 += "".equals(s12) ? l4.get(i) : "," + l4.get(i);
    }
    }
    System.out.println(s1 + ("".equals(s11) ? "null" : s11));
    System.out.println(s2 + ("".equals(s12) ? "null" : s12));
    System.out.println(s3 + ("".equals(s13) ? "null" : s13));
    }
    }
      

  5.   

    设定一个类class C{String id;String name;String[] job;}
     List<C> list = new ArrayList<C>();//list最终输出的集合,是存放C对象的集合
     for(int i=0;i<A1.size();i++){
       C c = new C();
       String a = A1.get(i);
       c.setId(A1.get(i));//设置c的id属性
       c.setName(A2.get(i));//设置c的name属性
       StringBuffer buff  = new StringBuffer() ;
         for(int j=0;j<B1.size();j++){
             String b = B1.get(j);
             if(a.equals(b)){
               buff.append(B2.get(j));
               buff.append(",");
             }
          }
         String  job = buff.toString();
         c.setJob(job);
         list.add(c);
     }
          
    for(int i=0;i<list.size();i++){//打印集合
         C c = list.get(i);
        if(c.getJob().equals("")||c.getJob()==null){
           System.out.println(c.getId()+"----"+c.getName()+"----------------null");
        }else{
          System.out.println(c.getId()+"----"+c.getName()+"----------------"+c.getJob());
        }
    }
    结果是:
    1----张三----------------经理,球员,CEO,
    2----王五----------------教练,裁判,
    3----李四----------------null你可以对stringBuff做处理,使末尾的","去掉
      

  6.   

    Class c 修改为:C{String   id;String   name;String job;} 
      

  7.   

    for (int i = 0; i < a1.size(); i++) { String s = (String) a1.get(i) + a2.get(i); for (int j = 0; j < b1.size(); j++) {
    if (a1.get(i) == b1.get(j)) {
    s = s + " " + (String) b1.get(j);
    } if (!b1.contains(a1.get(i))) {
    s = s + " " + " null ";
    } } }
      

  8.   

    错了 改一下for (int i = 0; i < a1.size(); i++) { String s = (String) a1.get(i) + a2.get(i); if (!b1.contains(a1.get(i))) { 
    s = s + " " + " null "; 
    } for (int j = 0; j < b1.size(); j++) { 
    if (a1.get(i) == b1.get(j)) { 
    s = s + " " + (String) b1.get(j); 
    } } }
      

  9.   

    List list = new ArrayList();
            for(int i=0;i<A1.size();i++){
                String a = A1.get(i)+"----"+A2.get(i)+"---------";
                if (!B1.contains(A1.get(i))){
                    a += "null";
                }else{
                    for(int j=0;j<B1.size();j++){
                        if(A1.get(i).equals(B1.get(j))){
                            a += B2.get(j)+",";
                        }
                    }
                }
                list.add(a);
            }
            for(int i=0;i<list.size();i++){
                System.out.println(list.get(i));
            }
      

  10.   

    我是用String[]写的,看一下了,不过这样做好象没有什么意义啊
    for(int i=0;i<a1.length;i++){
    System.out.println();
    String temp ="";
    for(int j=0;j<b1.length;j++){

    if(b1[j].equals(a1[i])){
    temp +=b1[j]+","+b2[j];
    }
    }
    if(temp != null && !"".equals(temp)){
    System.out.println(a1[i]+","+a2[i]+","+temp);
    }
    }