File tree Expand file tree Collapse file tree 1 file changed +26
-11
lines changed Expand file tree Collapse file tree 1 file changed +26
-11
lines changed Original file line number Diff line number Diff line change @@ -321,23 +321,38 @@ public class EnsureCapacityTest {
321
321
long endTime = System . currentTimeMillis();
322
322
System . out. println(" 使用ensureCapacity方法前:" + (endTime - startTime));
323
323
324
- list = new ArrayList<Object > ();
325
- long startTime1 = System . currentTimeMillis();
326
- list. ensureCapacity(N );
327
- for (int i = 0 ; i < N ; i++ ) {
328
- list. add(i);
329
- }
330
- long endTime1 = System . currentTimeMillis();
331
- System . out. println(" 使用ensureCapacity方法后:" + (endTime1 - startTime1));
332
324
}
333
325
}
334
326
```
335
327
336
328
运行结果:
337
329
338
330
```
339
- 使用ensureCapacity方法前:4637
340
- 使用ensureCapacity方法后:241
331
+ 使用ensureCapacity方法前:2158
332
+ ```
333
+
334
+ ``` java
335
+ public class EnsureCapacityTest {
336
+ public static void main (String [] args ) {
337
+ ArrayList<Object > list = new ArrayList<Object > ();
338
+ final int N = 10000000 ;
339
+ list = new ArrayList<Object > ();
340
+ long startTime1 = System . currentTimeMillis();
341
+ list. ensureCapacity(N );
342
+ for (int i = 0 ; i < N ; i++ ) {
343
+ list. add(i);
344
+ }
345
+ long endTime1 = System . currentTimeMillis();
346
+ System . out. println(" 使用ensureCapacity方法后:" + (endTime1 - startTime1));
347
+ }
348
+ }
349
+ ```
350
+
351
+ 运行结果:
352
+
353
+ ```
354
+
355
+ 使用ensureCapacity方法前:1773
341
356
```
342
357
343
- 通过运行结果,我们可以很明显的看出向 ArrayList 添加大量元素之前最好先使用` ensureCapacity ` 方法,以减少增量重新分配的次数
358
+ 通过运行结果,我们可以看出向 ArrayList 添加大量元素之前最好先使用` ensureCapacity ` 方法,以减少增量重新分配的次数。
You can’t perform that action at this time.
0 commit comments