import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; public class Test { public static void main2(String[] args) { /* 1.说明什么是ArrayList集合 * ArrayList一般用于随机访问元素,虽然List也可以,但在List中间插入和移除元素时较慢。同时,ArrayList的操作不是线程安全的! * 一般在单线程中才使用ArrayList,而在多线程中一般使用Vector或者CopyOnWriteArrayList。 */ ArrayList<Integer> arrayList= new ArrayList<Integer>(); System.out.println("往集合的第一个位置插入数字2"); arrayList.add(0,2); System.out.println("往集合里插入数字4"); arrayList.add(4); arrayList.add(2,6); arrayList.add(3,8); arrayList.add(4,10); arrayList.add(12); arrayList.add(10); System.out.println("删除集合里第3个元素"); arrayList.remove(2); System.out.println("删除集合里的第一个包含的10的元素"); arrayList.remove((Object)10); System.out.println("第一种:通过迭代器遍历"); Iterator<Integer> it=arrayList.iterator(); while(it.hasNext()) { System.out.println(it.next()); } System.out.println("第二种:通过索引值遍历"); for(int i=0; i <arrayList.size();i++) { System.out.println(arrayList.get(i)); } System.out.println("第三种:for循环遍历"); for(Integer number:arrayList) { System.out.println(number); } /* * 2.将ArrayList集合转换成数组integer整型 * ArrayList 集合的底层是通过数组来实现的,但是集合与数组还是有一些区别的, * 简单来说,集合的长度是可变的,而数组的长度是不可变的,通过这点可以引发出一点效率上的差异, * 当所处理的数据长度已知不变时,推荐用数组对其进行处理,当长度不可预知时,也只好通过集合对其进行处理。*/ System.out.println("toArray用法"); System.out.println("第一种方式(最常用)"); Integer[] integer1 = arrayList.toArray(new Integer[0]); for(Integer i:integer1) { System.out.println(i); } System.out.println("第二种方式(容易理解)"); Integer[] integer2 = new Integer[arrayList.size()]; arrayList.toArray(integer2); for(int i =0;i<integer2.length;i++) { System.out.println(integer2[i]); } System.out.println("判断集合是否包含数字4,如果包含显示true:"+arrayList.contains(4)); arrayList.clear(); System.out.println("判断集合是否为空,如果为空显示true:"+arrayList.isEmpty()); /*3.将组数转换成集合*/ String[] i ={"11","22","33"}; List<String> list = Arrays.asList(i); for(Object o:list) { System.out.println(o.toString()); } Integer[] ob = {11,22,33}; List<Integer> oblist = Arrays.asList(ob); Iterator<Integer> iterator=oblist.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } } }