层次关系
Iterable
——————Collection
——————List
——————ArrayList
- 主要操作:
- 增删改查
Iterable it=new ArrayList();
Iterable就的java.lang包中 其它的集合类或接口在java.util包中
接口的引用指向实现类 接口回调:
声明了一个集合 由于Iterable接口只有一个方法 所以,
不能满足我们的需要,因此需要其它的子接口
Collection cn = new ArrayList();
向上转型,这样就能把数据存放在ArrayList()中了
数据增加:
cn.add(123);
cn.add(123);
cn.add("fd");
cn.add(true);
cn.add(12);
cn.add(1.1);
cn.add(1.11);
cn.add('c');
运行结果:
**ArrayList每次新增一个元素, 就会检测ArrayList的当前容量 是否已经到达临界点, 如果到达临界点则会扩容1.5倍。
然而ArrayList的扩容以及数组的 拷贝生成新的数组是相当耗资源的。 所以若我们事先已知集合的使用场景, 知道集合的大概范围,
我们最好是指定初始化容量, 这样对资源的利用会更加好, 尤其是大数据量的前提下, 效率的提升和资源的利用会显得更加具有优势。**
修改代码
Collection cn = new ArrayList(2);
如果我们规定了初始大小,那么当达到临街值得时候将会自动扩充一个空间大小,这样相比原有的不规定初始大小更加的节约空间