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?
1 Answer
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.)
2 Comments
Sam Barnum
 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.
  monksy
 In otherwords sam, it clones the original array.