對ArrayList中難理解的方法簡單的實例

//我只示例一些不容易理解的方法 一些我的見解: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);
}

}線程

相關文章
相關標籤/搜索