The partitioning class

The partitioning class should provide a method that moves the elements of the collection based on a pivot element, and we will need to know the position of the pivot element after the method finishes. The signature of the method should look something like this:

public int partition(SortableCollection<E> sortable, int start, int end, E pivot);

The class should also have access to Swapper and Comparator. In this case, we defined a class and not an interface; therefore, we will use constructor injection.

These constructs, like setters and constructor injectors, are so common and happen so frequently that IDEs support the generation of these. You will need to create the final fields in the code and use the code generation ...

Get Java 9 Programming By Example now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.