:) On Fri, Apr 10, 2009 at 5:53 PM, Kevin Zhou <[email protected]> wrote:
> 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 <[email protected]> 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. >> > >
