强>
<前> <代码类=" "> {
,,,,列表=ArrayList ();
,,,,System.out.println ( );
,,,, 阀门( );
,,,,System.out.println ( );
,,,, 阀门( );
,,,, 阀门( );
,,,, 阀门( );
,,,, 阀门( );
,,,, 阀门( );
,,,, 阀门( );
,,,, 阀门( );
,,,, 阀门( );
,,,, 阀门( );
,,,,System.out.println ( );
,,,, 阀门( );
,,,,System.out.println ( );
,代码,}> >之前
<引用类=" "> <>节
注意看图,elementData在断点1时标识是29日,在断点2和断点3处的标识都是31岁,而在断点4时标识46岁,这说明elementData引用变量前后一共指向了三个不同的数组对象。也就是说,elementData并没有真正的扩容,而是创建了一个容量更大的数组对象来替代之前的数组,并且复制之前的数组内容。
节> 引用>强>
<前> <代码类=" "> 阀门( );
阀门( );代码>
强>
<前> <代码类=" "> 大?;
列表=ArrayList ();
t1=System.currentTimeMillis ();
( 我=;i<规模;我+ +){
,, 阀门(我);
}
t2=System.currentTimeMillis ();
System.out.println (t2-t1); 代码>
List List =, new ArrayList(规模);www.gendan5.com
<>以前list.add (1);
强>
<前> <代码类=" "> 大?;
列表=ArrayList(大小);
t1=System.currentTimeMillis ();
,, ( 我=;i<规模;我+ +){
,,,,,, 阀门( , );
,,}
t2=System.currentTimeMillis ();
System.out.println (t2-t1); 代码>
强>
强>
-
<李>
李
> <李>李
> <李>李>
强>