//我只示例一些不容易理解的方法 一些我的見解:1.ArrayList線程不安全,(源碼的實現沒有使用synchronized關鍵),2.容許值爲null 3.查詢效率高,刪除慢。這是數組的特性數組
//不想單獨在寫Vector,用法基本同樣。1 Vector 線程安全,2容許值爲空格 3 查詢效率高,刪除低 public class Test {安全
public static void main(String[] args) { ArrayList<Integer> list =new ArrayList<>(); list.add(1); list.add(5); list.add(2); list.add(null); //使用迭代器遍歷 Iterator it=list.iterator(); while (it.hasNext()){ System.out.println(it.next()); } System.out.println(list); //ArrayList的淺複製 Object l1=list.clone(); System.out.println(l1.toString()); System.out.println(l1); //這個方法的意思是,由於ArrayList底層使用的是動態可變的數組, // 有時候數組的容量大於表元素的容量,不想浪費空間,就把空間釋放掉 list.trimToSize(); System.out.println(list); //將集合轉爲數組,只是接收用Object來聲明類型 Object l2[]=(Object [])list.toArray(); for(int i=0;i<l2.length;i++) System.out.println(l2[i]); //用數組來接收集合的值 Integer b[]=new Integer[10]; b= list.toArray(b); for(int i=0;i<list.size();i++) System.out.println(b[i]); //把一個集合添加到這個列表裏 List<Integer> list1=new ArrayList<>(); list1.add(6); list1.add(8); //往集合裏添加一個集合,其他的相似的就不講啦 list.addAll(list1); System.out.println(list); }
}線程