views:

123

answers:

1

What is the cost of using Arrays.asList to convert static object arrays? Assuming that the object array has N items is it just an O(N) algorithm, where all of the items are copied by reference or is it merely a facade where the original array is put behind a List facade?

+10  A: 

It is cheap, O(1). As you suspect the list is merely a wrapper around the array. This is confirmed by the Java API documentation:

Returns a fixed-size list backed by the specified array. (Changes to the returned list "write through" to the array.)

John Kugelman
When going the other direction (Collection.toArray) the array is not "write-through". Changes to the array won't affect the list the array came from.
Sam Barnum