ArrayList的扩容方式

ArrayList有两种扩容方式:有参构造和无参构造方法

       一、 无参构造方法:ArrayList<数据类型> arrayList = new ArrayList<数据类型>();

                add() 方法和grow() 方法

                        1.add() 方法:

                                如果数组初始长度为0,则添加第一个元素时会将数组长度扩容为10。当数组容量不够时,按照原来容量的1.5倍进行扩容增长。

                        2.grow() 方法:

                                当所需的最小容量大于当前数组的长度,进行扩容用grow()方法。

        二、有参构造方法:ArrayList<数据类型> arrayList = new ArrayList<数据类型>(8);

                当集合已经添加完8个元素之后,进行扩容,是8的1.5倍扩容。

数组的最大容量在Integer.MAX_VALUE-8至Integer.MAX_VALUE之间,如果超出,则抛出OutOfMemoryError错误

你可能感兴趣的:(java,算法,数据结构)