Java SE 040 ArrayList源代码深入剖析
前言:此笔记为圣思园张龙老师讲述的java视频课程笔记,自己看视频学习时记录的,用于积累与复习,在此分享给学习软件编程的兄弟姐妹们,以供参考。
1.ArrayList
(1)Array本身接收的是一个Object,所以什么都可以往里面放。因为除了原生数据类型以外,任何东西都是Object。
(2)取出来时要知道放进去的对象是什么类型的。
(3)集合里面只能适合放置对象。不能放置原生数据类型。
package com.javase.arraylist;
import java.util.ArrayList;
public class ArrayListTest {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add(new Integer(3));
list.add(new Integer(4));
list.add(new Integer(5));
list.add(new Integer(6));
/**
* 不能将Object[]转换为Integer[]
* 错误代码Integer[] in = list.toArray();
*/
Object[] in = list.toArray();
for(int i = 0 ; i < in.length; i++){
System.out.println(((Integer)in[i]).intValue());
}
}
}
2.ArrayList的实现方式
(1)集合中存放的依然是对象的引用而不是对象本身。
(2)ArrayList底层采用数组实现,当使用不带参数的构造方法生成ArrayList对象时,实际上会在底层生成一个长度为10的Object类型数组。