On 03/01/2012 09:52 PM, Vitaly Davidovich wrote:

I thought so too initially but that's optimizing for empty or singleton collections which probably are an edge case? Adding a branch, polymorphic method call, and increasing bytecode size may not be worth it.


toArray is also polymorphic, so the typecheck will be done once :)


On 03/01/2012 09:56 PM, Vitaly Davidovich wrote:

Also some collections may not have an O(1) size().

Sent from my phone


Yes, you're right. I see now.

Rémi

Sent from my phone

On Mar 1, 2012 3:25 PM, "Rémi Forax" <[email protected] <mailto:[email protected]>> wrote:

    On 03/01/2012 08:50 PM, Mike Duigou wrote:

        Hello all;

        Currently Collections.sort() refuses to sort the lists which
        result from calling Collections.singletonList(). This makes
        some sense because the singleton lists are immutable but they
        are also alway sorted.

        This patch allows Collections.sort() to be used with empty and
        singleton lists of all types. A short circuit return is
        provided for lists of length 0 and 1 as they are already sorted.

        WEBREV: http://cr.openjdk.java.net/~mduigou/7065380/0/webrev/
        <http://cr.openjdk.java.net/%7Emduigou/7065380/0/webrev/>

        For the unit test ignore the diffs and view the "New"
        file--webrev doesn't understand "hg copy".

        Thanks,

        Mike


    Is it not better to check list.size() before calling toArray() ?

    Rémi


Reply via email to