没问题的,用arraylist 的add方法就行,把arraylist[0]位相同的放在同一个arraylist 里面,然后再把每个arraylist(就是你的object) 放到一个"大"的list里

解决方案 »

  1.   


    public static void main(String[] args) {
    List listA = new ArrayList();
    List listB = new ArrayList();

    Object[] objectc = new Object[]{"aa","123","542"};
    Object[] objecte = new Object[]{"ww","524","865"};
    Object[] objecth = new Object[]{"qq","458","632"};
    Object[] objectp = new Object[]{"gg","758","632"}; listA.add(objectc);
    listA.add(objecte);
    listA.add(objecth);
    listA.add(objectp);

    Object[] objectq = new Object[]{"gg","532","751"};
    Object[] objectb = new Object[]{"aa","265","325"};
    Object[] objecty = new Object[]{"gg","952","156"};

    listB.add(objectq);
    listB.add(objectb);
    listB.add(objecty);

    listA.addAll(listB);

    for(int i=0;i<listA.size();i++){
    Object[] tmp = (Object[])listA.get(i);
    System.out.println(tmp[0]+","+tmp[1]+","+tmp[2]);
    }
    }编完了发现不对
      

  2.   

    是啊,我要将里面的的数据相同的合并起来
    你这样的结果是:
    aa,123,542
    ww,524,865
    qq,458,632
    gg,758,632
    gg,532,751
    aa,265,325
    gg,952,156
      

  3.   

    使用map,每个list元素的第一个字段作为key,整个元素作为一个set类型的value
    for(list1){
    map.put(key,value);
    }
    for(list2){
    if(map.get(key!=null)){
    map.put(map.get(key).addAll(value2));
    }
    }
      

  4.   

    map.put(key,map.get(key).addAll(value2));
      

  5.   

    Hashtable<String,LinkedHashSet<Object>> ht = new Hashtable<String,LinkedHashSet<Object>>();
            for(int i=0;i<listA.size();i++){
             String[] ss = (String[])(listA.get(i));
             LinkedHashSet<Object> set = new LinkedHashSet<Object>();
             set.addAll(Arrays.asList(ss));
             ht.put(ss[0], set);
            }

            for(int i=0;i<listB.size();i++){
             String[] ss = (String[])(listB.get(i));
             LinkedHashSet<Object> set = new LinkedHashSet<Object>();
             set.addAll(Arrays.asList(ss));
             if(ht.get(ss[0])!=null){
             LinkedHashSet<Object> value = ht.get(ss[0]);
             value.addAll(set);
             ht.put(ss[0], value);
             }
             else{
             ht.put(ss[0], set);
             }
            }
            
            Iterator it = ht.keySet().iterator();
            while(it.hasNext()){
             String key = (String)(it.next());
             LinkedHashSet value = ht.get(key);
             Iterator it1 = value.iterator();
             while(it1.hasNext()){
             System.out.print(it1.next()+" ");
             }
             System.out.println();
            }
    }
      

  6.   

    楼上说的有理,因为你里面是根据aa、ww、gg等进行合并的,这就相当于key,所以一开始不要放在List中,而是要放在Map里,这样在合并时,进行判断就行了
      

  7.   


    listA
    listB
    for(int i=0;i<listB.size();i++)
    {
       listA.add(listB.get(i));
    }
      

  8.   

    支持使用Map,这种类型最好使用Map