You're comparing apples and oranges. There's already quite some overhead when using
Integer instead of
int because of auto-unboxing. If I change the
int[] into an
Integer[] the array speedup is around 1, sometimes even less than 1 meaning they have equivalent performances.
Before
Java 8 the list sorting would have been worse though, because
Collections.sort always called
list.toArray() first. It now delegates to
list.sort(null) which by default calls
this.toArray() but
ArrayList has overridden it to directly delegate to
Arrays.sort.