--构造函数
- <span style="font-size:14px;">/*
- * ArrayList三个构造方法
- */
- public ArrayList(int initialCapacity); //一个可以设置默认初始容量的类的构造方法
- public ArrayList();//一个初始容量为0的类的构造方法
- public ArrayList(Collection<? extends E> c);//一个传递参数为集合的类的构造方法</span>
- <span style="font-size:14px;">/*
- * Vector四个构造方法
- */
- public Vector(int initialCapacity, int capacityIncrement);//一个可以设置默认初始容量和增量的类的构造方法
- public Vector(int initialCapacity); //一个可以设置默认初始容量的类的构造方法
- public Vector();//一个初始容量为10的类的构造方法
- public Vector(Collection<? extends E> c);//一个传递参数为集合的类的构造方法</span>
--初始容量和增量的区别
- <span style="font-size:14px;">package com.zking.list;
- import java.lang.reflect.Field;
- import java.util.ArrayList;
- import java.util.List;
- public class Arraylisttest {
- // 反射,查看ArrayList属性
- static void print(List List) throws Exception {
- Class c = List.getClass(); // 得到类的对象
- Field f = c.getDeclaredField("elementData"); // 得到属性值
- f.setAccessible(true); // 设置为可以访问的属性
- Object[] o = (Object[]) f.get(List);
- System.out.println(o.length); // 默认长度
- }
- public static void main(String[] args) throws Exception {
- <span style="color:#3333ff;">List ls = new ArrayList();</span>
- System.out.println("集合中没有任何添加任何对象");
- print(ls);
- System.out.println("集合中添加到2个对象");
- for (int i = 0; i < 2; i++) {
- ls.add(i);
- }
- print(ls);
- System.out.println("集合中添加到13个对象");
- for (int i = 0; i < 11; i++) {
- ls.add(i);
- }
- print(ls);
- System.out.println("集合中添加到20个对象");
- for (int i = 0; i < 7; i++) {
- ls.add(i);
- }
- print(ls);
- System.out.println("集合中添加到23个对象");
- for (int i = 0; i < 3; i++) {
- ls.add(i);
- }
- print(ls);
- System.out.println("集合中添加到34个对象");
- for (int i = 0; i < 11; i++) {
- ls.add(i);
- }
- print(ls);
- System.out.println("集合中添加到50个对象");
- for (int i = 0; i < 16; i++) {
- ls.add(i);
- }
- print(ls);
- }
- }</span>
- <span style="font-size:14px;">package com.zking.list;
- import java.lang.reflect.Field;
- import java.util.Vector;
- public class Vectortest {
- // 反射,查看Vector属性
- static void print(Vector vector) throws Exception {
- Class c = vector.getClass(); // 得到类的对象
- Field f = c.getDeclaredField("elementData"); // 得到属性值
- f.setAccessible(true); // 设置为可以访问的属性
- Object[] o = (Object[]) f.get(vector);
- System.out.println(o.length); // 默认长度
- }
- public static void main(String[] args) throws Exception{
- /*
- * 未设置默认初始容量和默认增量
- */
- <span style="color:#3333ff;">Vector v=new Vector();</span>
- System.out.println("集合中没有任何添加任何对象");
- print(v);
- System.out.println("集合中添加到11个对象");
- for (int i = 0; i < 11; i++) {
- v.add(i);
- }
- print(v);
- System.out.println("集合中添加到21个对象");
- for (int i = 0; i < 10; i++) {
- v.add(i);
- }
- print(v);
- System.out.println("集合中添加到41个对象");
- for (int i = 0; i < 20; i++) {
- v.add(i);
- }
- print(v);
- System.out.println();
- }
- }</span>