ETJava Beta | Java    注册   登录
  • 查看ArrayList的扩容机制

    发表于 2024-11-29 21:52:03     阅读(181)     博客类别:J2SE

    通过反射查看ArrayList扩容机制

     

    import java.lang.reflect.Field;
    import java.util.ArrayList;
    
    public class Test {
    
        public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, IllegalAccessException {
            ArrayList<Integer> list = new ArrayList<Integer>();
            for (int i = 0; i < 11; i++) {
                list.add(i);
            }
    
            Class c = Class.forName("java.util.ArrayList");
            Field f = c.getDeclaredField("elementData");
            f.setAccessible(true);
            Object[] o = (Object[])f.get(list);
            System.out.println(o.length);
    
        }
    }