On 07/28/11 19:20, Doug Lea wrote:
Thanks. I hadn't noticed that the parenthesized "i.e., this list"
in the List specs
(http://download.oracle.com/javase/7/docs/api/java/util/List.html#subList%28int,%20int%29
-- pasted below)
overly constrains the interpretation of "backing list",
which would otherwise naturally refer to the ArrayList. This
would be challenging to fix in ArrayList while retaining
compatibility, even though it is sensibly ignored in
other List implementations.
As a bandaid, a faster but still compatible path for
simple get/set operations on ArrayList.subList could be
put in at the expense of adding a a few extra fields.
This would remove the main problem here. Mike: do you
want to try this? If not, I'll send something.
(BTW, similar wording is similarly ignored in JDK
{Sorted,Navigable}Map.subMap implementations; i.e.,
TreeMap and ConcurrentSkipListMap).
-Doug