Possible sub-optimal selection sort
Too many swaps
The &quot;standard&quot; selection sort finds the minimum element and swaps the first element with the minimum element once per loop. In total there should be N swaps. Your version of selection sort can swap up to (N^2)/2 times.
Unnecessary variable
I'm not sure why you use the variable result and return it.  You can just operate on the array that is passed in (list) directly.  When I first read your code I thought you were making a copy of the array, because you had this extraneous variable.
The &quot;standard&quot; selection sort
Here is an example of a &quot;standard&quot; selection sort:
public static void selectionSort(int[] list)
{
    int len = list.length;
    for (int i = 0; i &lt; len - 1; i++) {
        int smallestIndex = i;
        int smallestValue = list[i];
        for (int j = i + 1; j &lt; len; j++) {
            if (list[j] &lt; smallestValue) {
                smallestIndex = j;
                smallestValue = list[j];
            }
        }
        if (smallestIndex != i) {
            list[smallestIndex] = list[i];
            list[i] = smallestValue;
        }
    }
}