1. 程式人生 > >對ArrayList中難理解的方法簡單的例項

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

//我只示例一些不容易理解的方法 一些個人看法:1.ArrayList執行緒不安全,(原始碼的實現沒有使用synchronized關鍵),2.允許值為null 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);