I do not think so, from LinkedList implementation:
/**
* Return the indexed entry.
*/
private Entry entry(int index) {
if (index < 0 || index >= size)
throw new IndexOutOfBoundsException("Index: "+index+
", Size: "+size);
Entry e = header;
if (index < size/2) {
for (int i = 0; i <= index; i++)
e = e.next;
} else {
for (int i = size; i > index; i--)
e = e.previous;
}
return e;
}
It will iterate on every call.
Enough of this, as I think it is becoming a little out of subject for
the ANT list :-)
Jose Alberto
> -----Original Message-----
> From: Kev Jackson [mailto:[EMAIL PROTECTED]
> Sent: 28 February 2005 11:19
> To: Ant Developers List
> Subject: Re: Massively OT, 'Closures in Java' [was Re: AW:
> [Patch] modifiedselector, style, remove unused code, slightly
> more lazy DigestAlgorithm.getValue (now with added source code -doh!)]
>
>
> Jose Alberto Fernandez wrote:
>
> >AFAIU, LinkedList.get(N) requires traversing the list to
> position N on
> >every call [O(n^2)], so usage of an iteratoe is much cheaper on this
> >case as there is no array behind the scenes.
> >
> >Jose Alberto
> >
> >
> I've just worked out why it's ok to do it this way (with
> respect to my
> particular use-case). Basically I *want* to traverse the
> entire list,
> I'm not trying to pick out any particular position in the list (yes
> truly expensive using LinkedList.get(i)). In my method I simply call
> get(i) from 0..List.size():
>
> from docs
> <quote>Operations that index into the list will traverse the
> list from
> the begining or the end, whichever is closer to the specified
> index.</quote>
>
> So as I'm asking for position 0, the traversal starts at the
> head of the
> list, then I simply walk the list with the loop calling get(i), which
> also happens to be the next element in the list from where the list
> cursor currently is (ListIterator interface docs). Serendipity I
> suppose, but my usage is the most efficient for LinkedLists and also
> happens to be performant with ArrayLists, to do the
> particular traversal
> that I'm doing.
>
> Kev
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]