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
2009-10-12 04:59:08
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
2009-10-12 14:46:03