RFR 7065380 : Allow Collections.sort to sort Collections.singletonList() result (original) (raw)
Rémi Forax forax at univ-mlv.fr
Thu Mar 1 21:00:56 UTC 2012
- Previous message: RFR 7065380 : Allow Collections.sort to sort Collections.singletonList() result
- Next message: RFR 7065380 : Allow Collections.sort to sort Collections.singletonList() result
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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" <forax at univ-mlv.fr_ _<mailto:forax at univ-mlv.fr>> 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
- Previous message: RFR 7065380 : Allow Collections.sort to sort Collections.singletonList() result
- Next message: RFR 7065380 : Allow Collections.sort to sort Collections.singletonList() result
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]