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

}线程

相关文章
相关标签/搜索