从百度上看到关于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
拷贝结束,继续我的代码修炼之路了~ ~ ~