问题1:ArrayList底层是什么数据类型?
答:数组
问题2:ArrayList存放的数据是什么类型?
答:Object类型
问题3:ArrayList初始化的长度?
答:java6:10;java8:创建后默认空引用,调用add方法后,会初始扩容;可以统一默认是10
问题4:ArrayLIst的数据空间扩容规则?
答:原长度的一半
问题5:ArrayList扩容的方法?
答:Arrays.copyOf
问题6:第一次扩容从10到15,第二次扩容扩到多少?
答:22(15/2取整取7;15+7=22)
问题7:ArrayList是线程安全的吗?
答:线程不安全
问题8:如果模拟ArrayList线程不安全?
答:使用多个线程操作创建的ArrayList对象
问题9:解决ArrayList线程不安全的方案?
答:(1)List list1 = new Vector();
(2)List list2 = Collections.synchronizedList(new ArrayList());
(3) List list3 = new CopyOnWriteArrayList();