從百度上看到關於ArrayList的使用方法,就自己照着敲了一遍記錄下來
ArrayList就是動態數組,Java的鏈表類
按照順序向ArrayList中添加數據。
將a添加到list中:list.add("a");
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println(list); } }
結果:
[a, b]
在第N個數據后面添加一個數據
在第1個元素后面添加 e :list.add(1, "e");
注意:ArrayList中必須有足夠多的數據,例如ArrayList中沒有任何數據,這個時候使用arraylist.add(1, "E");就會出現java.lang.IndexOutOfBoundsException異常。
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println(list); list.add(1,"c"); System.out.println(list); } }
結果:
[a, b]
[a, c, b]
將一個ArrayList中的所有數據添加到另外一個ArraList中
將list1中的全部數據添加到list中:list.addAll(list1);
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println("list:"+list); ArrayList<String> list1 = new ArrayList<String>(); list1.add("c"); list1.add("d"); System.out.println("list1:"+list1); list.addAll(list1); System.out.println("list1添加到list中:"+list); } }
結果:
list:[a, b]
list1:[c, d]
list1添加到list中:[a, b, c, d]
將一個ArrayList中的所有數據添加到另外一個ArraList中的第N個元素之后。
將list1中的全部數據添加到list中的第2個元素之后:list1.addAll(2,list);
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println("list:"+list); ArrayList<String> list1 = new ArrayList<String>(); list1.add("c"); list1.add("d"); System.out.println("list1:"+list1); list.addAll(1,list1); System.out.println("list1添加到list中:"+list); } }
結果:
list:[a, b]
list1:[c, d]
list1添加到list中:[a, c, d, b]
按照位置刪除單個數據
將list中第2個數據刪除:list.remove(2);
注意:位置從0開始計算(0、1、2、3...)
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println("list:"+list); list.remove(0); System.out.println("刪除后list:"+list); } }
結果:
list:[a, b]
刪除后list:[b]
按照內容刪除單個數據
用法:將list中的數據"b"刪除:list.remove("b");
注意:對於int,String,char這樣的原始類型數據是可以刪除的,但是對於復雜對象,例如自己編寫的User類、Person類對象,需要重寫equals方法,負責remove方法無法匹配刪除。
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println("list:"+list); list.remove("a"); System.out.println("刪除后list:"+list); } }
結果:
list:[a, b]
刪除后list:[b]
按照集合同時刪除多個數據
按照list1中的數據來刪除list:list.removeAll(list1);
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println("list:"+list); ArrayList<String> list1 = new ArrayList<String>(); list1.add("c"); list1.add("b"); System.out.println("list1:"+list1); list.removeAll(list1); System.out.println("刪除后list:"+list); } }
結果:
list:[a, b]
list1:[c, b]
刪除后list:[a]
清空ArrayList
清空list:list.clear();
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println("list:"+list); list.clear(); System.out.println("清空后list:"+list); } }
結果:
list:[a, b]
清空后list:[]
修改指定位置的元素
將list中第2個元素,修改為M:list.set(2, "M");
注意:位置從0開始計算(0、1、2、3...)
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println("list:"+list); list.set(1,"M"); System.out.println("修改后list:"+list); } }
結果:
list:[a, b]
修改后list:[a, M]
獲取指定位置元素
獲取list中第1個元素:String ele = list.get(0);
注意:位置從0開始計算(0、1、2、3...)
package com.arraylist.demo; import java.util.ArrayList; public class add { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); //添加數據 list.add("a"); list.add("b"); System.out.println("list:"+list); String ele = list.get(0); System.out.println("獲取的值:"+ele); } }
結果:
list:[a, b]
獲取的值:a
拷貝結束,繼續我的代碼修煉之路了~ ~ ~