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()); } } }