现在有2个ArrayList,要把一个的内容放到另外一个中去,除了用list2=list1或者把list1循环读数据放到list2中去,还有什么方法吗?

解决方案 »

  1.   

    clear先 再加
    a1.clear();
    a1.addAll(a2);
      

  2.   

    ArrayList list2=new ArrayList(list1);
    行么?
      

  3.   

    方法如下:
    list2.addAll(Collection);
    list2=new ArrayList(Collection);
      

  4.   

    /**
     * MyArrayList的连接
     * 把listB放到listA的末尾
     */
    public static <T> void join(MyArrayList<T> listA, MyArrayList<T> listB) {
    int sizeA = listA.size(), sizeB = listB.size();
    listA.ensureCapacity(sizeA + sizeB);//这句话很重要,先分配空间再复制
    for(int i = 0; i < sizeB; i++)
    listA.add(listB.get(i));
    }
      

  5.   

    import java.util.ArrayList;public class TestArrayList { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub

    ArrayList<String> a1 = new ArrayList<String>();
    a1.add("a1");
    a1.add("1");

    ArrayList<String> a2 = new ArrayList<String>();
    a2.add("a2");
    a2.add("2");

    a2.addAll(a1);

    for(int i = 0; i < a2.size(); i++) {
    System.out.println(a2.get(i));
    }
    }}
    a2
    2
    a1
    1