package Sorts; import java.util.Arrays; import java.util.List; /** * The common interface of most sorting algorithms * * @author Podshivalov Nikita (https://github.com/nikitap492) * **/ public interface SortAlgorithm { /** * Main method arrays sorting algorithms * @param unsorted - an array should be sorted * @return a sorted array */ > T[] sort(T[] unsorted); /** * Auxiliary method for algorithms what wanted to work with lists from JCF * @param unsorted - a list should be sorted * @return a sorted list */ @SuppressWarnings("unchecked") default > List sort(List unsorted){ return Arrays.asList(sort(unsorted.toArray((T[]) new Comparable[unsorted.size()]))); } }