1. 程式人生 > 實用技巧 >java中列表深複製的三種方法

java中列表深複製的三種方法

有兩種方式:

1.迴圈

迴圈第一個list,然後每迴圈一次,就給新的list賦值

List<String> oneList = new ArrayList<String>();
List<String> twoList = new ArrayList<String>();
oneList.add("1");
oneList.add("2");
oneList.add("3");

for(String str : oneList){
twoList.add(str);
}


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

結果:

1 2 3 2.arrayList的addAll()方法 List<String> oneList = new ArrayList<String>(); oneList.add("1"); oneList.add("2"); oneList.add("3"); for(String str : oneList){ System.out.println("one:"+str); } List<String> twoList = new ArrayList<String>(); twoList.add("4"); twoList.addAll(oneList);
for(String str : twoList){ System.out.println("two:"+str); } 3、構造器 public class T1 { private static ArrayList<String> dateType = new ArrayList<String>(){{ this.add("2020-01"); this.add("2020-02"); this.add("2020-03"); }}; public static void main(String[] args) {
final ArrayList<String> list = new ArrayList<String>() {{ this.add("2020-01"); this.add("2020-02"); }}; System.out.println(dateType); final ArrayList<String> strings = new ArrayList<>(dateType); strings.removeAll(list); System.out.println("strings:"+strings); System.out.println("後dateType:"+dateType); } } 結果: one:1 one:2 one:3 two:4 two:1 two:2 two:3