Details
Description
In ArrayList.java, growForInsert method(line 407):
[1] if (location < size / 2)
else
{ System.arraycopy(array, firstIndex, newArray, 0, location); System.arraycopy(array, location + firstIndex, newArray, location + required, size - location); firstIndex = 0; lastIndex = size + required; } Whether the location is less than size / 2 or not will only affect the allocation of elements in the new array.
The first case relates to leaving the additional space (when increment is larger than required)which size is
increment minus required to be at the top of the new array while the second case relates to leaving it at the bottom.
There are two callers which will call growForInsert method. But none of them will utilize the different allocation
methods mentioned above. If the allocation methods don't make sense, it will only produce duplicate code.
I just use one allocation method and find it works fine.
Attachments
Attachments
Issue Links
- is blocked by
-
HARMONY-5839 Harmony ArrayList#addAll() has a wrong impl vs Sun JDK
- Closed