java中列表深複製的三種方法
阿新 • • 發佈:2020-10-29
有兩種方式: 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