harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Zhou <zhoukevi...@gmail.com>
Subject Re: [jira] Created: (HARMONY-6145) [classlib][luni] java.lang.LinkedList.addAll(Collection<? extends E> collection) runs into endless loop
Date Fri, 10 Apr 2009 09:53:13 GMT
When add a collection to itself, this endless loop results from increasing
of collection due to adding elements.
Other collections that implements set or map interface will only have sole
element. Thus adding self will not change the size.

Therefore, only collections implements List or Queue may possibly results in
such failure.

Till now, I don't find any other class that fails on this.

On Fri, Apr 10, 2009 at 5:30 PM, Regis <xu.regis@gmail.com> wrote:

> Kevin Zhou wrote:
>
>> Hi,
>> I have investigated this defect.
>> This problem happens on two methods [1][2] of java.lang.LinkedList class.
>> Initialize a LinkedList and add element at the last position. Then adding
>> this linkedList to itself will trigger a endless loop.
>>
>> The root cause is that the implementation of the above addAll methods adds
>> elements directly from linkList itself which will also change the added
>> linkList.
>> It should transfer the added collection into an array, then add elements
>> from that array rather than directly from the linkList itself.
>>
>> [1] public boolean addAll(Collection<? extends E> c)
>> [2] public boolean addAll(int index, Collection<? extends E> c)
>>
>>
> Does the endless loop happen in other collection's addAll() methods?
>
> --
> Best Regards,
> Regis.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message