ArrayList AA = new ArrayList();
for(int i=1;i<A1.size();i++){
   AA.add(A1.get(i))
}
for(int i=1;i<A2.size();i++){
   for(int j=1;j<AA.size();j++){
      if(A2.get(i).equals(AA.get(j)){
          break;
      }
      if(Integer.parseInt(A2.get(i))<Integer.parseInt(AA.get(j))){
          AA.add(j,A2.get(i));
      }
   }
}
for(int i=1;i<A3.size();i++){
   for(int j=1;j<AA.size();j++){
      if(A3.get(i).equals(AA.get(j)){
          break;
      }
      if(Integer.parseInt(A3.get(i))<Integer.parseInt(AA.get(j))){
          AA.add(j,A3.get(i));
      }
   }
}A1,A2,A3我都当作ArrayList处理,而且A1,A2,A3假设存的都是数字,主要使用ArrayList中的add方法:
 void add(int index, Object element) 
          Inserts the specified element at the specified position in this list.

解决方案 »

  1.   

    这是算法问题了,怎么发这来了,哈。感觉还是hymarx(偷偷给我一点爱) 的方法吧。
      

  2.   

    直接把A2,A3往A1里面添加这样不行吗?因为A1,A2,A3都是已经排过序的了,只要判断A1中是不是已经有的值,然后再做一个大小判断,该添加的添加,这样不好吗?我觉得这样不必进行再次排序
    不过前面我写的有问题,匆忙了
      

  3.   

    从效率来讲teddy_huang(生活多美好,睡觉) 的够好
    不过代码重用度可能差了一点
    欢迎讨论
      

  4.   

    import java.util.*;
    import java.lang.*;public class TestArrayList
    {  public TestArrayList()
      {  }  public void printTest()
      {
        int []A11={1,2,3,4};
           int []A22={2,3,4,5};
           int []A33={6,4,3,8};
           ArrayList A1=arrayToList(A11);
           ArrayList A2=arrayToList(A22);
           ArrayList A3=arrayToList(A33);
           ArrayList AA = new ArrayList();
           for(int i=1;i<A1.size();i++)
           {
             AA.add(A1.get(i));
           }
           for(int i=1;i<A2.size();i++){
             for(int j=1;j<AA.size();j++){
               if(A2.get(i).equals(AA.get(j)))
               {
                 break;
               }
               if(A2.get(i)<AA.get(j))
               {
                 AA.add(j,A2.get(i));
               }
             }
           }
           for(int i=1;i<A3.size();i++){
             for(int j=1;j<AA.size();j++){
               if(A3.get(i).equals(AA.get(j)))
               {
                 break;
               }
               if(A3.get(i)<AA.get(j)){
                 AA.add(j,A3.get(i));
               }
             }
        }
      }
      public ArrayList arrayToList(Object[] array)
      {
        ArrayList list=new ArrayList(array.length);
        for(int i=0;i<array.length ;i++ )
        {
          list.add(array[i]);
        }
        return list;
      }  public static void main(String[] args)
      {
        TestArrayList testArrayList1 = new TestArrayList();
      }
    }这样写为什么编译无法通过?"TestArrayList.java": Error #: 300 : method arrayToList(int[]) not found in class plan.study.TestArrayList at line 27, column 21
    "TestArrayList.java": Error #: 375 : operator < cannot be applied to (java.lang.Object, java.lang.Object) at line 53, column 24
      

  5.   

    for(int i=0;i<A2.size();i++){
       for(int j=0;j<AA.size();j++){      if((A2.get(i)).equals(AA.get(j)){
              break;
          }
          /*如果比AA中的值小就添加,或者比AA中的值都大,此时也应该添加,此时j的值就是AA的size*/
          if(Integer.parseInt((String)A2.get(i))<Integer.parseInt((String)AA.get(j))||j==AA.size()){
              AA.add(j,A2.get(i));
          }
       }
    }
      

  6.   

    仔细想了想,还是有问题:for(int i=0;i<A2.size();i++){
       for(int j=0;j<AA.size();j++){      if((A2.get(i)).equals(AA.get(j)){
              break;
          }
          /*如果比AA中的值小就添加,或者比AA中的值都大,此时也应该添加,此时j的值就是AA的size*/
          if(Integer.parseInt((String)A2.get(i))<Integer.parseInt((String)AA.get(j))){
              AA.add(j,A2.get(i));
          }
          if(j==AA.size()){
              AA.add(A2.get(i));
          }
       }
    }
      

  7.   

    可以利用SortedSet来做import java.util.*;public class T {
    public static void main(String[] args) {
    int aa[][] = {{1,5,6,7},{2,3,5},{1,6,7,8}};
    int[] b = merge(aa);

    for(int i = 0; i < b.length; i++)
    System.out.println(b[i]);
    }

    static int[] merge(int[][] aa) {
    SortedSet s = new TreeSet();
    for(int i = 0 ;i < aa.length; i ++)
    addToSortedSet(s,aa[i]);

    int[] ra = new int[s.size()];
    int i = 0;
    for(Iterator it = s.iterator(); it.hasNext();) {
    ra[i ++] = ((Integer)it.next()).intValue();
    }
    return ra;
    }

    static private void addToSortedSet(SortedSet s,int[] a) {
    for(int i = 0; i < a.length; i++) 
    s.add(new Integer(a[i]));
    }
    }
      

  8.   

    哦,这样根本不必判断了,弓虽
    add(Object o) Adds the specified element to this set if it is not already present (optional operation).