Reputation: 6550
What is the most efficient way of sorting only a part of ArrayList? Say all elements from index 0 to 3 in an Arraylist which contains 10 elements.
Is there a library function available in Java?
Apart from Collections.sort(list)
which sorts the entire List!
Writing a highly optimised custom sort function will take some work.
Upvotes: 30
Views: 18039
Reputation: 24791
In Java 8+, use List#sort
.
list.subList(0,3).sort(null) ;
In earlier Java:
Collections.sort(list.subList(0,3));
Note: '3' here is excluded from sorting.
To quote the documentation:
public List subList(int fromIndex, int toIndex)
Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive.
Upvotes: 64