把list1赋值给list2,改变list2的值,list1的值不变
该怎么赋值啊!!!!

解决方案 »

  1.   

    。楼主是啥意思 一看list 以为是问容器问题呢 汗
    请楼主说具体点 list1是什么类型的变量啊
    要是基础类型的话
    list2 = list1 不就行了
    list1 没变
    list2 改变
    请楼主把 变量的类型说下啊
      

  2.   


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

    // ArrayList<String> arrayList2 = arrayList1;
    ArrayList<String> arrayList2 = (ArrayList<String>)arrayList1.clone(); 

    arrayList2.add("3");

    for(String str:arrayList1) {
    System.out.println(str);
    }

    for(String str:arrayList2) {
    System.out.println(str);
    }
      

  3.   

    直接用 "=" 肯定是不行的  你可以 创建一个新的list对象  然后从第一个list中取出值来 add()进新创建的list
      

  4.   

    同意楼上的,用clone,不过你的list1要是ArrayList型,不能用List来引用,接口类没有clone。
      

  5.   


    package com.terry.test;import java.util.*;
    /*
     * list拷贝
     */public class Test {
    public static void main(String[] args) {
    List list = new ArrayList();
    List listCopy = new ArrayList();

    list.add("aa");
    list.add("bb");
    list.add("cc");
    for(int i=0;i<list.size();i++){
    // System.out.println(list.get(i));
    listCopy.add(list.get(i));
    }
    for(int i=0;i<listCopy.size();i++){
    // System.out.println(listCopy.get(i));
    // System.out.println(list.get(i));
    }

    }
    }
      

  6.   


    List <String> list1 = new  ArrayList<String>(){
    {
    this.add("a");
    this.add("b");
    }
    };

    List <String> list2 = new ArrayList<String>(list1){
    {
    this.add("c");
    }
    };

    System.out.println("list1:");
    for ( String str : list1 ){
    System.out.println(str);
    }

    System.out.println("list2:");
    for ( String str : list2 ){
    System.out.println(str);
    }
      

  7.   

    这个首先的是这样声明的List list1 = new ArrayList()
    List list2 = new ArrayList();
    因为ArrayList里有addAll方法。
      

  8.   

    ADDALL().. .clone ....学习了..中间的用FOR来赋值的效率算是最底并且代码最多的吧...