java.util.Collections.sort(Comparable) uses merge sort to sort the elements. however quick sort is an in-place sorting algorithm, so it avoids the extra space/new array to keep sorted elements.so generally quick sort is bit faster than merge sort . but quick sort is not a stable . is this the only reason why merge sort[because it is a stable sort] is used in java.util.Collections.sort(Comparable)?
I believe it is, yes. Merge sort may be a little slower and use a little more memory, but when quicksort goes wrong, it's much worse. For a general-purpose sort, they (Sun engineers) appear to value general reliability most of all.