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