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